JSON .count数组在Swift 4中始终返回0

时间:2018-06-22 09:34:04

标签: arrays json swift swifty-json

我很快就遇到了JSON问题。当我从userDefault存储(JSON数组为String格式)中获取JSON数据时,将其解析为JSON对象并计算数组中对象的数量,但结果始终返回O(零)。

我的快捷代码:

 let carts = userStorage.object(forKey: userDefaultKeys.carts)
 print("logging carts....")
 print(JSON(carts  as! String).count)
 print(JSON(carts as! String))

它登录到结果窗口

logging carts....
0
[
 {
  "Lat" : 32,
  "Time" : null,
  "Items" : [
    {
     "StorePhone" : "018753678474",
     "Ingredient" : "",
     "FK_Category" : 2,
     "Enabled" : 1,
     "UpdatedAt" : null,
     "IsActive" : 1,
     "quantity" : 1,
    }
   ],
   "DeliveryFee" : null,
   "Photos" : "https:\/\/networkposting.com\/wpcontent\/uploads\/2018\/02\/maxresdefaul-137.jpg"
 }
]

1 个答案:

答案 0 :(得分:0)

按照Usage Documentation on the GitHub page

  

初始化

let json = JSON(data: dataFromNetworking)

let json = JSON(jsonObject)

if let dataFromString = jsonString.data(using: .utf8, allowLossyConversion: false) {
    let json = JSON(data: dataFromString)
}

因此,您不能像现在一样直接通过String初始化SwiftyJSON对象。

如果您有JSON字符串...请使用上面的底部示例首先将其转换为数据。