对 Swift 3.1 的子数组使用 SwiftyJSON
Using SwiftyJSON for subarray with Swift 3.1
我有一个json数据。我以前从未使用过 SwiftyJSON。我是第一次尝试。
我的json是这样的:
[
{
"Id": 1,
"Name": "A",
"SubNames": [
{
"SubId": 1,
"SubName": "A1"
},
{
"SubId": 2,
"SubName": "A2"
}]
},
{
"Id": 2,
"Name": "B",
"SubNames": [
{
"SubId": 1,
"SubName": "B1"
},
{
"SubId": 2,
"SubName": "B2"
}]
}
]
我可以处理名称并附加一个数组。但我无法处理 SubNames。我尝试了一些但不幸的是没有用。我想将 SubNames 附加到一个数组中。这个数组将是这样的:
[["A1","A2"],["B1","B2"]]
我使用这个代码:
let json = JSON(data: data!)
for (_,subJson):(String, JSON) in json {
self.names.append(subJson["Name"].stringValue
}
试试这个来访问那些字段,你不应该data!
在这里
guard let `data` = data else {
//no data handling
return
}
let dataArray = JSON(data: data).arrayValue
var arrayOfAllSubnames: [[String]] = [[]]
for object in dataArray {
var arrayOfSubnames: [String] = []
if let subnames = object["SubNames"].array {
for subname in subnames {
//here you get `"SubId": 2, "SubName": "B2"` object
let subnameValue = subname["SubName"].stringValue
arrayOfSubnames.append(subnameValue)
}
}
arrayOfAllSubnames.append(arrayOfSubnames)
}
Swift 3.0
1) 先声明子名数组
var subNameArray: [[String]] = []
2) 您可以按如下方式访问和存储此对象。
let json = JSON(data: data!).arrayValue
for item in json {
var tempArray: [String] = []
let name = item["Name"].stringValue
for subNameItem in items["SubNames"].arrayValue {
tempArray.append(subNameItem["SubName"].stringValue)
}
subNameArray.append(tempArray)
}
我有一个json数据。我以前从未使用过 SwiftyJSON。我是第一次尝试。
我的json是这样的:
[
{
"Id": 1,
"Name": "A",
"SubNames": [
{
"SubId": 1,
"SubName": "A1"
},
{
"SubId": 2,
"SubName": "A2"
}]
},
{
"Id": 2,
"Name": "B",
"SubNames": [
{
"SubId": 1,
"SubName": "B1"
},
{
"SubId": 2,
"SubName": "B2"
}]
}
]
我可以处理名称并附加一个数组。但我无法处理 SubNames。我尝试了一些但不幸的是没有用。我想将 SubNames 附加到一个数组中。这个数组将是这样的:
[["A1","A2"],["B1","B2"]]
我使用这个代码:
let json = JSON(data: data!)
for (_,subJson):(String, JSON) in json {
self.names.append(subJson["Name"].stringValue
}
试试这个来访问那些字段,你不应该data!
在这里
guard let `data` = data else {
//no data handling
return
}
let dataArray = JSON(data: data).arrayValue
var arrayOfAllSubnames: [[String]] = [[]]
for object in dataArray {
var arrayOfSubnames: [String] = []
if let subnames = object["SubNames"].array {
for subname in subnames {
//here you get `"SubId": 2, "SubName": "B2"` object
let subnameValue = subname["SubName"].stringValue
arrayOfSubnames.append(subnameValue)
}
}
arrayOfAllSubnames.append(arrayOfSubnames)
}
Swift 3.0
1) 先声明子名数组
var subNameArray: [[String]] = []
2) 您可以按如下方式访问和存储此对象。
let json = JSON(data: data!).arrayValue
for item in json {
var tempArray: [String] = []
let name = item["Name"].stringValue
for subNameItem in items["SubNames"].arrayValue {
tempArray.append(subNameItem["SubName"].stringValue)
}
subNameArray.append(tempArray)
}