如何从 JSON 内的数组解析字符串数据 Swift 中的另一个数组 4
How to parse a string data from array inside JSON another array in Swift 4
我必须将字符串数据显示到 tableView 中。
{
"success": [
[
"An Ad with order id 2563 at location DLF, Delhi has been approved | 20 hours before|Shashank Tiwari"
],
[
"An Ad with order id 2539 at location V3S Mall has been approved | 1 week before|Shashank Tiwari"
],
[
"An Ad with order id 2515 at location Pacific Mall has been approved | 1 week before|Shashank Tiwari"
],
[
"An Ad with order id 2500 at location Ambience Mall has been rejected | 1 week before|Shashank Tiwari"
],
[
"An Ad with order id 2499 at location Vience Mall has been approved | 1 week before|Shashank Tiwari"
],
[
"An Ad with order id 2480 at location DLF, Delhi has been approved | 2 weeks before|Shashank Tiwari"
]
}
所以我正在如下解析数据,但无法将数据附加到 arrData 数组。
let json = try JSON(data:data
let result = json["success"]
print(result)
for arr in result.arrayValue {
self.arrData.compactMap{ [=13=] as? NSArray}
}
如果你想展平数组那么compactMap
是错误的API。
使用reduce
let result = json["success"]
let array = (result.arrayObject as! [[String]]).reduce([], +)
self.arrData.append(contentsOf: array)
arrayObject
returns [Any]?
, 必须向下转型为真实类型 [[String]]
reduce
将二维数组转换为一维数组。
你可以用另一种方式,比如
let result = json["success"]
if let arr = result.arrayObject as? [[String]] {
let array = arr.map { [=10=].first! }
self.arrData.append(contentsOf: array)
}
我必须将字符串数据显示到 tableView 中。
{
"success": [
[
"An Ad with order id 2563 at location DLF, Delhi has been approved | 20 hours before|Shashank Tiwari"
],
[
"An Ad with order id 2539 at location V3S Mall has been approved | 1 week before|Shashank Tiwari"
],
[
"An Ad with order id 2515 at location Pacific Mall has been approved | 1 week before|Shashank Tiwari"
],
[
"An Ad with order id 2500 at location Ambience Mall has been rejected | 1 week before|Shashank Tiwari"
],
[
"An Ad with order id 2499 at location Vience Mall has been approved | 1 week before|Shashank Tiwari"
],
[
"An Ad with order id 2480 at location DLF, Delhi has been approved | 2 weeks before|Shashank Tiwari"
]
}
所以我正在如下解析数据,但无法将数据附加到 arrData 数组。
let json = try JSON(data:data
let result = json["success"]
print(result)
for arr in result.arrayValue {
self.arrData.compactMap{ [=13=] as? NSArray}
}
如果你想展平数组那么compactMap
是错误的API。
使用reduce
let result = json["success"]
let array = (result.arrayObject as! [[String]]).reduce([], +)
self.arrData.append(contentsOf: array)
arrayObject
returns[Any]?
, 必须向下转型为真实类型[[String]]
reduce
将二维数组转换为一维数组。
你可以用另一种方式,比如
let result = json["success"]
if let arr = result.arrayObject as? [[String]] {
let array = arr.map { [=10=].first! }
self.arrData.append(contentsOf: array)
}