Swift - 使用SwiftyJSON从JSON获取字符串数组
问题描述:
[
{
"content": "Hello!",
"images": [
{
"url": "http://url1.com"
},
{
"url": "http://url2.com"
},
{
"url": "http://url3.com"
}
]
}
]
如何获取使用SwiftyJSON
的图像URL数组?Swift - 使用SwiftyJSON从JSON获取字符串数组
这是我尝试过的并且没有工作。
for (key, subJson) in json["images"] {
if let url = subJson["url"].string {
print(url)
}
}
如果我理解正确,我的“图像”JSON包含一个字典数组,但我的代码是一个字符串数组。我能做些什么来获得一个url字符串数组?
答
根据你的JSON
if let images = json[0]["images"].array {
for image in images {
if let url = image["url"].string {
print(url)
}
}
}
根对象是一个数组[]
,含有images
字典({}
)是在根阵列的第一个对象。
你可以得到的URL的阵列
if let images = json[0]["images"].array {
let imageArray = images.flatMap{ $0["url"].string }
print(imageArray)
}
谢谢!如果我还想要一串'url'?我怎样才能做到这一点? – imstillalive
我不明白,'url' **的值是**'String'。 – vadian
当我这样做'let imageString = images.flatMap {$ 0 [“url”]。string}'我得到一个'flatmap产生...不是预期的类型为String的上下文结果!“对不起,我很新swift。 – imstillalive