下面是我从服务器获取JSON:如何使用SwiftyJSON(在Swift中)基于JSON对象数组创建一个对象数组?
{
"items": [
{
"name": "Shampoo",
"price": 9
},
...
]
}
这里是我的Item
类斯威夫特:
class Item {
var name: String
var price: Float
init(name: String, price: Float) {
self.name = name
self.price = price
}
}
我想用SwiftyJSON的items
阵列中创建的每个JSON对象的Item
对象。所以我想我只是循环SwiftyJSON为我创建的Swift数组。但SwiftyJSON抛出一个错误,说items
不是一个数组。我试着将它作为一个字典下标,但你不能(我想你可以)在for循环中遍历一个字典。
这里是我曾尝试代码:
let json = JSON(data: data) // data is the JSON from the server (above) and isn't nil
let items = json["items"].array // this is nil and where SwiftyJSON throws the error.
// error checking and optional unwrapping etc.
for item in items {
var itemsList: [Item] = []
itemsList.append(Item(name: item["name"], price: item["price"]))
}
我觉得这应该是很容易,所以如果任何人都可以找到,我出了问题我会很感激。谢谢!
尝试打印'json [“items”]'看看它是什么? – kennytm
@kennytm它看起来像一个元组,原始JSON作为一个字符串和数组,它是零。 – Jake
检查原始JSON格式是否正确? – kennytm