gpt4 book ai didi

ios - Json 表格 View Swift

转载 作者:搜寻专家 更新时间:2023-11-01 06:44:17 26 4
gpt4 key购买 nike

这篇文章是在一篇旧文章之后,有人帮助我解决了类似的问题。

我目前正在开发一个应用程序,它通过向网络服务发出请求来列出用户对象,该网络服务以这种格式发送 JSON 响应:

{
"objects": [
{
"id": "28",
"title": "test",
"price": "56 €",
"description": "kiki",
"addedDate": "11-07-2015",
"user_id": "1",
"user_name": "CANOVAS",
"user_zipCode": "69330",
"category_id": "1",
"category_label": "VEHICULES",
"subcategory_id": "1",
"subcategory_label": "Voitures",
"picture": "",
"bdd": {},
"picture_url": "http://jdl-barreme-orange.dyndns.org/WEBSERVICE/pictures/test.JPG"
},
{
"id": "27",
"title": "ferrari",
"price": "55 €",
"description": "rouge jantes",
"addedDate": "11-07-2015",
"user_id": "1",
"user_name": "CANOVAS",
"user_zipCode": "69330",
"category_id": "1",
"category_label": "VEHICULES",
"subcategory_id": "1",
"subcategory_label": "Voitures",
"picture": "",
"bdd": {},
"picture_url": "http://jdl-barreme-orange.dyndns.org/WEBSERVICE/pictures/ferrari.JPG"
}
}

我搜索了一种方法来为每个字典检索值 title 和 price 并将它们放在 tableView 中。

我使用的代码(tableviewcontroller):

if let jsonArray = NSJSONSerialization.JSONObjectWithData(urlData!, options: nil, error: nil) as? [[String:AnyObject]] {
for dict in jsonArray {
if let title = dict["title"] as? String {
println(title)
}
}
}

但是它不起作用,我放了一个断点,Xcode 在这里停止解释:

for dict in jsonArray

感谢您的帮助。

最佳答案

此示例 JSON 无效:它在最后一个 } 之前缺少 ]

但我想这只是一个粘贴错字,您使用的 JSON 格式正确,所以您的问题是您需要首先访问字典的 objects 键。

此键包含一个字典数组的值,因此我们将其用作类型转换:

if let json = NSJSONSerialization.JSONObjectWithData(urlData!, options: nil, error: nil) as? [String:AnyObject] {
if let objects = json["objects"] as? [[String:AnyObject]] {
for dict in objects {
if let title = dict["title"] as? String {
println(title)
}
}
}
}

首先我们将 NSJSONSerialization.JSONObjectWithData 的结果转换为字典:[String:AnyObject],然后我们访问对象的值> 键,然后我们将此值转换为字典数组:[[String:AnyObject]]

请记住,对于 JSON 格式,字典的格式为 {},数组的格式为 []

您的示例是 {key:[{},{}]} 所以它是一个包含字典数组的字典。


Swift 2.0 更新

if let json = try? NSJSONSerialization.JSONObjectWithData(urlData!, options: []) as? [String:AnyObject] {
if let objects = json?["objects"] as? [[String:AnyObject]] {
for dict in objects {
if let title = dict["title"] as? String {
print(title)
}
}
}
}

关于ios - Json 表格 View Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32071599/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com