使用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或非可选的String
stringValue提取具有默认空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"].array
为self.json["array"].arrayValue
以得到[String]
结果,而不是[String]?
。
您有一个Dictionary
持有,Array
而持有String
的。当您访问中的值时Dictionary
,它将返回简单Array
的String
s。您可以像对任何数组一样进行迭代。
for obj in json["array"] {
println(obj.stringValue)
}
只需执行以下操作:
for stringInArray in json["array"]{
let value = stringInArray.1.stringValue
}
本文地址:http://ios.askforanswer.com/ruheshiyongswiftyjsonjiexizifuchuanshuzu.html
文章标签:ios , json , swift
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!
文章标签:ios , json , swift
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!
评论已关闭!