from this link我得到了相同的commonName,但应该有所不同?!
var endTime = 1456198143933 + 3600 * 1000,
data = [
[1456187667884, 10],
[1456187670916, 10],
...
[1456193273059, 15],
[1456198143933, 0]
];
data.push([endTime, data[data.length - 1][1]]);
答案 0 :(得分:1)
因为[0],你需要做类似
的事情var i = 0
for (_,object):(String, JSON) in readableJSON {
let commonName = json["toLocationDisambiguation"]["disambiguationOptions"][i]["place"]["commonName"].stringValue
commonNameArray.append(commonName)
i = i+1
}
答案 1 :(得分:1)
在for
循环中,您始终只抓取0
数组的disambiguationOptions
元素。相反,您需要使用索引来获取数组的每个元素。
答案 2 :(得分:1)
你的循环没有意义,它遍历顶级字典的键/值对,但不使用它们。相反,您也始终使用从顶层开始的相同引用来检索相同的对象。
包含commonName
键的基础数组对象为disambiguationOptions
。
此代码遍历数组的所有项目。
var commonNameArray = [String]()
let jsonData = NSData(contentsOfURL: url!)
let readableJSON = try NSJSONSerialization.JSONObjectWithData(jsonData, options: []) as! [String:AnyObject]
let object = JSON(readableJSON)
let disambiguationOptions = object["toLocationDisambiguation"]["disambiguationOptions"]
for option in disambiguationOptions.arrayValue {
let commonName = option["place"]["commonName"].stringValue
commonNameArray.append(commonName)
}