JSON 的数组 .count 总是 returns 0 in Swift 4

Array of JSON .count always returns 0 in Swift 4

我在 swift 中遇到 JSON 的一些问题。当我从 userDefault 存储中获取 JSON 数据(JSON 的数组作为字符串格式)然后将其解析为 JSON 对象并计算数组中对象的数量,但结果总是 return O(零)。

我的swift代码:

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

它登录结果 window

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"
 }
]

根据 Usage Documentation on the GitHub page:

Initialization

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 字符串...首先使用上面底部的示例将其转换为数据。