如何使用SwiftyJSON解析字符串数组?

2020/12/16 01:21 · ios ·  · 0评论

使用SwiftyJSON如何将以下JSON数组解析为Swift [String]

{
    "array": ["one", "two", "three"]
}

我已经尝试过此代码,但对我而言不起作用:

for (index: String, obj: JSON) in json["array"] {
        println(obj.stringValue)
    }

处理此问题的最佳方法是什么?谢谢。

{
    "myArray": ["one", "two", "three"]
}

使用SwiftyJSON,您可以通过以下方式获取JSON对象数组:

var jsonArr:[JSON] = JSON["myArray"].arrayValue

函数式编程使您可以轻松地使用“地图”功能将其转换为[String]。SwiftyJson让我们使用下标'.string'转换字符串类型

var stringArr:[String] = JSON["myArray"].arrayValue.map { $0.stringValue}

如果类型不匹配,则SwiftyJSON允许您String?使用$ 0.string或非可选的StringstringValue提取具有默认空String值的字符串。

如果要确保具有非误报的String数组,请使用:

var stringArray = self.json["array"].array?.flatMap({ $0.string })

或在Swift 4.1中

var stringArray = self.json["array"].array?.compactMap({ $0.string })

您也可以将替换self.json["array"].arrayself.json["array"].arrayValue以得到[String]结果,而不是[String]?

您有一个Dictionary持有,Array而持有String的。当您访问中的值时Dictionary,它将返回简单ArrayStrings。您可以像对任何数组一样进行迭代。

for obj in json["array"] {
    println(obj.stringValue)
}

只需执行以下操作:

for stringInArray in json["array"]{

    let value = stringInArray.1.stringValue
}
本文地址:http://ios.askforanswer.com/ruheshiyongswiftyjsonjiexizifuchuanshuzu.html
文章标签: ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!