
{ "Language": { "FIEld":[ { "Number":"976","name":"Test" },{ "Number":"977","name":"Test" } ] }} 你有没有尝试过JsONSerialization.JsonObject(with:options :)? var JsonString = "{" + "\"Language\": {" + "\"FIEld\":[" + "{" + "\"Number\":\"976\"," + "\"name\":\"Test\"" + "}," + "{" + "\"Number\":\"977\"," + "\"name\":\"Test\"" + "}" + "]" + "}" + "}"var data = JsonString.data(using: .utf8)!let Json = try? JsONSerialization.JsonObject(with: data) Swift有时会产生一些非常奇怪的语法。
if let number = Json?["Language"]??["FIEld"]??[0]?["Number"] as? String { print(number)} JsON对象层次结构中的所有内容最终都被包装为可选(即AnyObject?)。阵列< T>下标返回一个不可选的T.对于包含在可选的数组下标中的JsON,返回Optional< AnyObject> ;.然而,词典< K,V>下标返回可选的< V> ;.对于这个JsON,下标返回非常奇怪的样子
任选的LT;任选的LT; AnyObject>> (即AnyObject ??)。
> Json是可选的< AnyObject>。
> Json?[“Language”]返回一个可选的< Optional< AnyObject>>。
> Json?[“Language”] ?? [“FIEld”]返回一个可选的< Optional< AnyObject>>。
> Json?[“Language”] ?? [“FIEld”] ?? [0]返回一个可选< AnyObject> ;.
> Json?[“Language”] ?? [“FIEld”] ?? [0]?[“Number”]返回一个可选< Optional< AnyObject>> ;.
> Json?[“Language”] ?? [“FIEld”] ?? [0]?[“Number”] as? String返回一个可选的< String>。
可选的< String>然后由if语法用于产生一个String。
最后注意:迭代字段数组看起来像这样。
for fIEld in Json?["Language"]??["FIEld"] as? [AnyObject] ?? [] { if let number = fIEld["Number"] as? String { print(number) }} 总结 以上是内存溢出为你收集整理的在Swift 3中进行JSON解析全部内容,希望文章能够帮你解决在Swift 3中进行JSON解析所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)