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