如何附加来自 JSON 的数据
Posted
技术标签:
【中文标题】如何附加来自 JSON 的数据【英文标题】:How to append the data from the JSON 【发布时间】:2018-06-29 09:39:37 【问题描述】:如何追加数据?
我的 api 为:-
[
"Name": "Vegetables",
"PictureModel":
"ImageUrl": "http://example.jpeg"
,
"Name": "Fruits",
"PictureModel":
"ImageUrl": "http://example1.jpeg"
]
用于从 json 中获取数据
let session = URLSession.shared
session.dataTask(with: request) (data, response, error) in
if let response = response
print(response)
if let data = data
do
let json = try JSONSerialization.jsonObject(with: data, options: []) as! Array<[String:Any]>
print(json)
let type = json[0]
let name = type["Name"] as! String
let PictureModel = type["PictureModel"] as! [String:Any]
print(PictureModel)
let nameofimage = PictureModel["ImageUrl"] as! String
print(nameofimage)
self.fetchedHome.append(Categories(name: name, images: nameofimage))
self.tableview.reloadData()
catch
print(error)
.resume()
我在 tableview 中获得了输出。在 tableview 中,我在 UIImageview 中获得了第一个数据作为名称蔬菜和图像。
。但是第二个数据不显示。那么如何附加?如何给for循环和追加
【问题讨论】:
【参考方案1】:使用此代码,您将在 For 循环中一一获取对象:-
if let data = json as? NSArray
for data in data
if let data = data as? [String: AnyObject]
//Here you will get data
print("Name", data["Name"])
【讨论】:
【参考方案2】:您是否在 print(json) 中正确获取了 JSON?
如果是,那么您应该尝试循环“json”,如下所示:-
for (var keyAttr in json)
let dataRow = json[keyAttr]
在 dataRow 中,您可以获得“Name”和“PictureModel”。
我希望它应该可以工作。
一切顺利。
【讨论】:
【参考方案3】:let session = URLSession.shared
session.dataTask(with: request) (data, response, error) in
if let response = response
print(response)
if let data = data
do
let json = try JSONSerialization.jsonObject(with: data, options: []) as! Array<[String:Any]>
if let data = json as? [String:Any]
for data in data
let name = data["Name"] as! String
let PictureModel = data["PictureModel"] as! [String:Any]
print(PictureModel)
let nameofimage = PictureModel["ImageUrl"] as! String
print(nameofimage)
self.fetchedHome.append(Categories(name: name, images: nameofimage))
self.tableview.reloadData()
catch
print(error)
.resume()
【讨论】:
请检查我已经更新了我的代码怎么办? @brucecraigb 你有没有在你的代码中实现任何答案 我得到了答案蔬菜但没有附加第二个数据,所以解决它?\ 这里显示错误 :-在代码中从 Array 到 NSArray 的条件转换:- if let data1 = json as? NSArray ......如何解决它以上是关于如何附加来自 JSON 的数据的主要内容,如果未能解决你的问题,请参考以下文章