追加元素形成 JSON 对多维数组的响应
Append elements form JSON response to multidimensional array
我正在使用 Alamofire 和 SwiftyJSON。
代码:
var array = Array<Array<String>>()
Alamofire.request(.GET, url, parameters: ["postType": "live"], encoding: ParameterEncoding.URL).responseJSON { (_, _, result) in
switch result {
case .Success(let data):
let json = JSON(data)
for(_,subJSON):(String, JSON) in json["Info"] {
let Tag = subJSON["Tag"].string!
let Location = subJSON["Location"].string!
array.append(Array(count: 4, repeatedValue: concertTag))
}
case .Failure(_, let error):
print("Request failed with error: \(error)")
}
}
我想创建一个多维数组。并在将数组传递给 TableView 后向其添加 JSON 变量。
所以基本上我需要 "array" 是这样的:
[[Tag1; Location1],[Tag2, Location2], .... ]
我该怎么做?有任何想法吗?
谢谢
你只需要更换
array.append(Array(count: 4, repeatedValue: concertTag))
和
array.append([Tag, Location])
你会像这样取回数据,例如:
for arr in array {
print("tag: " + arr[0])
print("loc: " + arr[1])
}
但我建议另一种方法:使用元组。
首先让我们创建一个类型结果,因为它很方便:
typealias TagAndLocation = (tag: String, location: String)
然后准备一个空的结果数组:
var resultTuples = [TagAndLocation]()
在循环中填充元组数组:
for (_, subJSON) in json {
let Tag = subJSON["Tag"].string!
let Location = subJSON["Location"].string!
let tagloc = (tag: Tag, location: Location)
resultTuples.append(tagloc)
}
然后您可以通过两种方式访问您的数据:
for (tag, loc) in resultTuples {
print("tag: " + tag)
print("loc: " + loc)
}
for result in resultTuples {
print("tag: " + result.tag)
print("loc: " + result.location)
}
注意:您的变量名称应以小写字母开头。以大写字母开头通常表示 类、类型、协议等。
我正在使用 Alamofire 和 SwiftyJSON。
代码:
var array = Array<Array<String>>()
Alamofire.request(.GET, url, parameters: ["postType": "live"], encoding: ParameterEncoding.URL).responseJSON { (_, _, result) in
switch result {
case .Success(let data):
let json = JSON(data)
for(_,subJSON):(String, JSON) in json["Info"] {
let Tag = subJSON["Tag"].string!
let Location = subJSON["Location"].string!
array.append(Array(count: 4, repeatedValue: concertTag))
}
case .Failure(_, let error):
print("Request failed with error: \(error)")
}
}
我想创建一个多维数组。并在将数组传递给 TableView 后向其添加 JSON 变量。
所以基本上我需要 "array" 是这样的:
[[Tag1; Location1],[Tag2, Location2], .... ]
我该怎么做?有任何想法吗?
谢谢
你只需要更换
array.append(Array(count: 4, repeatedValue: concertTag))
和
array.append([Tag, Location])
你会像这样取回数据,例如:
for arr in array {
print("tag: " + arr[0])
print("loc: " + arr[1])
}
但我建议另一种方法:使用元组。
首先让我们创建一个类型结果,因为它很方便:
typealias TagAndLocation = (tag: String, location: String)
然后准备一个空的结果数组:
var resultTuples = [TagAndLocation]()
在循环中填充元组数组:
for (_, subJSON) in json {
let Tag = subJSON["Tag"].string!
let Location = subJSON["Location"].string!
let tagloc = (tag: Tag, location: Location)
resultTuples.append(tagloc)
}
然后您可以通过两种方式访问您的数据:
for (tag, loc) in resultTuples {
print("tag: " + tag)
print("loc: " + loc)
}
for result in resultTuples {
print("tag: " + result.tag)
print("loc: " + result.location)
}
注意:您的变量名称应以小写字母开头。以大写字母开头通常表示 类、类型、协议等。