在Swift 3中进行JSON解析

在Swift 3中进行JSON解析,第1张

概述有没有人能够找到一种方法来解析Swift 3中的JSON文件?我已经能够获得数据返回,但是当将数据分解成特定字段时,我不成功。我会发布示例代码,但我已经经历了这么多不同的方法不成功,没有保存任何。我想解析的基本格式是这样的。提前致谢。 { "Language": { "Field":[ { "Number":"976", " 有没有人能够找到一种方法来解析Swift 3中的JsON文件?我已经能够获得数据返回,但是当将数据分解成特定字段时,我不成功。我会发布示例代码,但我已经经历了这么多不同的方法不成功,没有保存任何。我想解析的基本格式是这样的。提前致谢。
{  "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&gt ;.然而,词典< K,V>下标返回可选的< V&gt ;.对于这个JsON,下标返回非常奇怪的样子
任选的LT;任选的LT; AnyObject>> (即AnyObject ??)。

> Json是可选的< AnyObject>。
> Json?[“Language”]返回一个可选的< Optional< AnyObject>>。
> Json?[“Language”] ?? [“FIEld”]返回一个可选的< Optional< AnyObject>>。
> Json?[“Language”] ?? [“FIEld”] ?? [0]返回一个可选< AnyObject&gt ;.
> Json?[“Language”] ?? [“FIEld”] ?? [0]?[“Number”]返回一个可选< Optional< AnyObject>&gt ;.
> 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解析所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1053930.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-25
下一篇2022-05-25

发表评论

登录后才能评论

评论列表(0条)

    保存