Xcode iOS:如何解析这个 JSON?
Posted
技术标签:
【中文标题】Xcode iOS:如何解析这个 JSON?【英文标题】:Xcode iOS : How to parse this JSON? 【发布时间】:2017-08-03 07:34:04 【问题描述】:我正在尝试解析这个 JSON 字符串。但是我一直在 NSArray 遇到问题。
var tContacts: [String] = []
if let jsonData = data
//let jsonObj = try! JSONSerialization.jsonObject(with: jsonData, options: [])
let jsonObj = try! JSONSerialization.jsonObject(with: jsonData, options: []) as! [String:AnyObject]
print(jsonObj)
let rescode = jsonObj["respond"] as! String?
altogether")
self.tContacts = jsonObj["mylist"] as! Array **(ERROR HERE)**
................
...........
......
错误: 无法将“__NSDictionaryI”(0x107b25288)类型的值转换为“NSString”(0x107130c60)。
["list_id": 1, "respond": success, "mylist": <__NSArrayI 0x618000231b60>(
email = "porkman@live.com";
name = John;
status = active;
,
email = "gorillaunderwear@gmail.com";
name = Gregh;
status = active;
)
]
【问题讨论】:
你是如何定义 self.tContacts 的? 像这样:var tContacts: [String] = []jsonObj["mylist"]
是一个[[String:Any]]
(字典数组),它与tContacts
定义的[String]
(字符串数组)不同。
@OneNation 试试var tContacts: NSDictionary !
【参考方案1】:
tContacts 是一个字符串数组,但 jsonObj["mylist"]
返回字典数组。您可以将 tContacts 声明为 Any 对象数组
var tContacts: [Any] = [] or
var tContacts:[[String:Any]] = [[:]]
【讨论】:
【参考方案2】:将 var tContacts: [String] = [] 替换为 var tContacts: [[String:AnyObject]] = [[String:AnyObject]]()
希望对你有所帮助...
【讨论】:
以上是关于Xcode iOS:如何解析这个 JSON?的主要内容,如果未能解决你的问题,请参考以下文章