【发布时间】:2017-02-01 04:37:51
【问题描述】:
我正在尝试使用以下代码解析下面的 JSON 响应,但似乎无法使其工作,我该怎么做?我正在尝试获取图像中的“user_guid”和所有“entity_guid”。
斯威夫特
do {
var entity_guid : Int = 0
var user_guid : Int = 0
let jsonResult = try JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions.mutableContainers) as? NSDictionary
// Parse JSON data
let jsonP = jsonResult?["result"] as! [AnyObject]
for jsonL in jsonP {
user_guid = jsonL["user_guid"] as! Int
entity_guid = jsonL["entity_guid"] as! Int
}
} catch {
}
JSON
{
"status":0,
"result":{
"user_guid":139219,
"images":[
{
"entity_guid":572356
},
{
"entity_guid":572354
},
{
"entity_guid":572352
}
]
}
}
【问题讨论】:
-
result是一个对象(字典),而不是一个数组。 -
1.为什么使用
NSDictionary? 2. 为什么所有的崩溃操作员(!)? 3. 为什么user_guid的值只有一个,而且与entity_guid的值不在同一个数组中,为什么还要在循环中获取? -
... 3. 为什么是
AnyObject? 4. 为什么.mutableContainers;-)