使用swiftyjson从索引对象数组ios中检索json的标题
Posted
技术标签:
【中文标题】使用swiftyjson从索引对象数组ios中检索json的标题【英文标题】:Retrieval of title from json from indexed object array ios using swiftyjson 【发布时间】:2016-12-07 05:26:57 【问题描述】:JSON
"321" :
"title" : "xyz",
"pageid" : 321,
"ns" : 0
,
"172" :
"pageimage" : "xyzc.jpg",
"pageid" : 172,
"title" : "xyzcc",
"ns" : 0,
"thumbnail" :
"width" : 100,
"height" : 57,
"source" : "https:\/\/upload.abcd.org\/wikipedia\/commons\/thumb\/d\/de\/xyz.jpg\/100px-xyz.jpg"
,
"224" :
"pageimage" : "abc.jpg",
"pageid" : 224,
"title" : "dasf",
"ns" : 0,
"thumbnail" :
"width" : 98,
"height" : 100,
"source" : "http:\/\/example.org\/images\/thumb\/2\/26\/skfdb.jpg\/98px-586px-dasdfsa.jpg"
,
"825" :
"title" : "efkjdsb",
"pageid" : 825,
"ns" : 0
,
"229" :
"title" : "eafewg",
"pageid" : 229,
"ns" : 0
使用SwiftyJSON
从JSONresponse检索后如何访问JSON文件中的“title”和“thumbnail”:“source”?
“321”、“172”可以改变和依赖。相同格式的数组中有多个对象。
有些对象有缩略图对象,有些则没有。
如何将title
和thumbnail->source
提取到带有图像和标签的TableView
以创建列表。
(使用Swift
语言)
我正在使用 AFNetworking
检索 json
let manager = AFHTTPSessionManager()
manager.GET(url, parameters: nil, success: (operation, responseObject) -> Void in
let responsejson = JSON(responseObject!)
print("\n \n \n \n \n \n Retrieved = \n\(responsejson)")
let items = responsejson.count
print("Items : \(items)")
提前致谢。
【问题讨论】:
向我们展示您的尝试。 我面临的问题是由于每个对象数组的索引都带有数字。因此我无法获取它们。 我没有要显示的代码。因为我是 ios 中这种 json 格式的新手 @NiravD 如果你熟悉,可以帮我解决这个问题 为此,您至少需要展示如何获得此 JSON 响应。 【参考方案1】:您可以使用这样的代码来获取每个值:
for (key,obj) in responsejson
print(obj["title"])
print(obj["thumbnail"]["source"])
【讨论】:
注意keyIWant是一个字符串 键示例? 你喜欢在这里输入什么作为键字符串? 密钥是“224”或“321”之类的数字之一 我可以通过添加 print(obj["thumbnail"]["source"]) 来检索它【参考方案2】:尝试通过您枚举JSON
响应并检查title
和thumbnail
是否可用。
for (key,item) in responsejson
if let title :String = item["title"].stringValue
print(title)
if let thumbnail : String = item["thumbnail"]["source"].stringValue
print(thumbnail)
编辑:
您也可以使用 Swift 原生 Dictionary
。
for (key,item) in responsejson.dictionaryValue
if let title = item["title"] as? String
print(title)
if let thumbnailDic = item["thumbnail"] as? [String: AnyObject]
print(thumbnail)
【讨论】:
如果条件为假。没有进入循环内 @AthulL.S 我已经告诉过你,它会为你提供同时具有标题和缩略图的对象。 如果让 title = item["title"] as? String print(title) // 打印(缩略图) 我的意思是它没有打印标题 如果条件不成立进入其循环以上是关于使用swiftyjson从索引对象数组ios中检索json的标题的主要内容,如果未能解决你的问题,请参考以下文章
无法在 iOS 中使用 SwiftyJson 将 JSON 数组或 JSON 对象分配给 JSON