当我尝试从网址解析json时,我得到一个空值。我缺少什么,或 我应该实现什么来简单地加载json值并放入UICollectionView
?
这是我从网络服务获得的json。我已经使用验证工具对其进行了验证,这是正确的:
{
"status": 1,
"count": 72,
"data": [
{
"id": 818,
"name": "1. product",
"price": "155.00"
},
{
"id": 812,
"name": "2. product",
"price": "62.00"
},
{
"id": 26,
"name": "3. product",
"price": "213.00"
},
{
"id": 657,
"name": "4. product",
"price": "21.00"
},
{
"id": 347,
"name": "5. product",
"price": "57.00"
}
我需要从上面的json获取名称和价格值。
这是viewDidLoad
中调用的swiftyJSON代码块。我怀疑问题在这里,但我不确定。
let json = JSON(data: products)
if let productName = json["data"][0]["name"].string {
print("Product: \(productName)")
}
答案 0 :(得分:0)
您可以通过覆盖模型类中的init函数来简单地避免JSON中的空字段。 当然取决于您的映射数据。如果您将获得JSON null对象,则此构造函数将简单地将null替换为默认值
例如:
override init() {
mapField1 = "" // string value
mapField2 = 0 // number value
}
关于你的代码。你在哪里拿了JSON的0键?它只是json["data.name"]
或json["data.price"]