使用 SwiftyJSON 将 JSONArray 解析为字符串数组
Posted
技术标签:
【中文标题】使用 SwiftyJSON 将 JSONArray 解析为字符串数组【英文标题】:Parsing JSONArray to string array using SwiftyJSON 【发布时间】:2016-10-21 04:05:38 【问题描述】:好吧,我真的是 Swift 新手,我使用 swiftyJSON 来轻松解析来自 API 的 JSON 数据。
我有一个如下所示的数据响应:
[
"fname": < String value>
"mname": < String value>
"lname": < String value>
"weights": [
"date": <String value>,
"weight": <String value>
,
"date": <String value>,
"weight": <String value>
]
对于我的 swiftyJSON 解析方式,这是我的代码
let swiftyJSON = JSON(data: data!)
for item in swiftyJSON.arrayValue
self.firstName = item["fname"].stringValue
self.middleName = item["mname"].stringValue
self.lastName = item["lname"].stringValue
//JSON Array "weights" code snippet below
对于我已将其解析为字符串但使用"weights"
的名称。我不知道该怎么做。我试过用这个:
for key in item["weights"]["weight"].arrayValue
self.allWeights.append(key.stringValue)
而且它不工作。有人可以帮我弄这个吗?非常感谢。
【问题讨论】:
我用的是xcode 7.3
所以是swift 2.2
对吧?
【参考方案1】:
weights
包含一个字典数组
...
if let weights = item["weights"].array
for weightItem in weights
let date = weightItem["date"].stringValue
let weight = weightItem["weight"].stringValue
print(date, weight)
【讨论】:
谢谢@vadian 先生,我仍然无法将其解析为字符串数组,但在您的帮助下,我已经有了 jsonarray 字典。这是sn-p代码image.prntscr.com/image/91e86ca71c474c28ae7b9199ecca65b0.png 这是结果image.prntscr.com/image/cbed3c440f2e4d21871b4539dd137ab0.png,我打印了weights
,它得到了jsonarray。但是以下几行没有解析它。非常感谢!【参考方案2】:
这可能是一个更快速的答案。我们在这里所做的是使用 map 遍历 json 数组并为数组中的每个项目返回一个字典对象。 map 函数当然会创建自己的数组并将每个字典对象附加到其中,然后返回存储在 weights 变量中的整个数组。可能大脑快炸了,所以如果我没有完全正确,请告诉我。
let swiftyJSON = JSON(data: data!)
let weights = swiftyJSON["weights"].arrayValue.map ["date": $0["date"].stringValue, "weights": $0["weights"].stringValue]
【讨论】:
以上是关于使用 SwiftyJSON 将 JSONArray 解析为字符串数组的主要内容,如果未能解决你的问题,请参考以下文章