json - 使用 Alamofire/SwiftyJSON 获取 JSON 数组的第一个元素

标签 json swift alamofire swifty-json

我有一个 Alamofire 请求,它给出了 JSON 作为结果。这是我的 JSON:

"user" : {
    "field_first_name" : {
      "und" : [
        {
          "value" : "Christopher",
          "format" : null,
          "safe_value" : "Christopher"
        }
     ]
    },

“und”值是一个数组,通常只有一个值。我想始终获取该数组的第一个元素,因为有时该字段会有多个元素,但第一个元素始终是正确的结果。

下面的代码有效,直到我到达“.first”。这返回一个类型为(String,JSON)的值,我无法弄清楚如何将此项目“firstValue”恢复为可用格式。每当我尝试使用

Alamofire.request(url, method: .post, parameters:parameters, headers: headers)
    .responseJSON { response in

            if let data = response.result.value {
                let json = JSON(json: data)


                let firstValue = json["user"]["field_first_name"]["und"].first
                print(firstValue!)
            }
        }

firstValue 然后变成 (String, JSON) 类型,我不知道如何处理这个问题。我想要得到的是“firstValue”中键“value”的值。

这是“firstValue”打印出来的内容:

("0", {
    "safe_value" : "Christopher",
    "value" : "Christopher",
    "format" : null
})

这种方法还有救吗?我可以做一个 for in 循环,得到第一个结果,然后告诉它忽略其余的,但这似乎不对。感谢您的帮助。

最佳答案

我相信你应该能够做这样的事情

   if let firstValue = json["user"]["field_first_name"]["und"].first?.1 {
      print(firstValue)
   }

关于json - 使用 Alamofire/SwiftyJSON 获取 JSON 数组的第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44460417/

相关文章:

json - 使用 JSON 和 Wink 的 JAX-RS 客户端/服务器应用程序

json - Logstash:从数组到字符串的 XML 到 JSON 输出

ios - 将 Eureka 表单数据上传到 firebase

ios - 如何在 Swift 3 中设置 UIButton 的图像?

ios - 使用 Alamofire - Swift 3 上传对象时如何捕获错误?

ios - 将 Alamofire 结果解析为 Swift 中的对象(使用 : Alamofire, SwiftyJSON 和 ObjectMapper)

多行字符串的 JSON 和模板文字

objective-c - Swift 和 Objective-C 之间的 UIGestureRecognizer

json - 无法使用 Alamofire Swift 获取 Json 数据

javascript - 在 Node 服务器上使用 mongoose 将分层 Node 从 json 文件保存到 mongodb 中