Swift - 使用 SwiftyJSON 从 JSON 中获取字符串数组
Posted
技术标签:
【中文标题】Swift - 使用 SwiftyJSON 从 JSON 中获取字符串数组【英文标题】:Swift - Get an array of strings from JSON using SwiftyJSON 【发布时间】:2016-10-30 16:21:31 【问题描述】:[
"content": "Hello!",
"images": [
"url": "http://url1.com"
,
"url": "http://url2.com"
,
"url": "http://url3.com"
]
]
如何使用SwiftyJSON
获取图片网址数组?
这是我尝试过但没有奏效的方法。
for (key, subJson) in json["images"]
if let url = subJson["url"].string
print(url)
如果我理解正确,我的“图像”JSON 包含一个字典数组,但我的代码是一个字符串数组。我该怎么做才能得到一个 url 字符串数组?
【问题讨论】:
【参考方案1】:根据您的 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
怎么办?我该怎么做?
看不懂,url
的值是 String
.
当我这样做 let imageString = images.flatMap $0["url"].string
时,我得到一个“平面图产生......不是字符串类型的预期上下文结果!”对不起。我对 swift 很陌生。
您写道:获取一个 url 字符串数组。这是字符串数组 ([String]
),而不是单个字符串 (String
)。
我明白了。你的回答很完美,我已经用过了。但现在我有另一个 JSON 需要解析。它要求我将其作为单个 String
而不是 [String]
取出。我不知道该怎么做,我想你可能会,所以这就是我评论问的原因。以上是关于Swift - 使用 SwiftyJSON 从 JSON 中获取字符串数组的主要内容,如果未能解决你的问题,请参考以下文章
使用 swiftyjson 和 swift 解析嵌入的 json
Swift 使用 Alamofire 和 SwiftyJSON 解析 Json [关闭]
Alamofire 的 Swift 扩展方法返回 SwiftyJSON 结果
如何使用 SwiftyJSON 在 Swift 中解析这个 JSON 对象?