Another:: 如何使用 swiftyjson 循环遍历 json 数据?
Another:: How do I loop through json data with swiftyjson?
我正在评估 swiftyJSON,首先尝试一些简单的事情,然后想知道这个循环有什么问题。
这是示例数据。
{
"dataplot2d": [
[0.25,2.3 ],
[-2.5,8.09 ],
[5.3145,20.205]
]
}
这里是将其读入两个独立数组的代码
var x:[Float] = []
var y:[Float] = []
var i:Int = 0
var t:Int = 0
var jsonArr = json["dataplot2d"].arrayValue
for ( i=0; i<jsonArr.count; i++ )//number of data points
{
println("i \(i) t \(t) \(jsonArr[i][t])")
x.append(jsonArr[i][0].array)
y.append(jsonArr[i][1].array)
}
错误是
Could not find member 'array'
??
array
被定义为 https://github.com/SwiftyJSON/SwiftyJSON 为 arrayValue
//Non-optional [JSON]
public var arrayValue: [JSON] {
get {
return self.array ?? []
}
}
我错过了什么?
如果没有 swiftyJSON,也许这会更干净??
只需要解包即可浮动,可惜这在任何地方都没有真正的记录。
x.append(jsonArr[i][0].array)
y.append(jsonArr[i][1].array)
是
x.append(jsonChart[i][0].float! )
y.append(jsonChart[i][1].float! )
注意:我正在将我的评论转换为答案,以便我可以 post 编码。
在你的代码中,jsonArr
是你的数组的一级数组,所以jsonArr[i]
是浮点数的数组,而jsonArr[i][0]
是浮点数,不是数组。这就是混乱的根源。 :)
至于代码的简单性,这里有与您相同的循环,但语法略有 "Swifter"(我不得不稍微调整代码以使其在 Playground 中运行,但它不不要改变我们的事情):
var x:[Float] = []
var y:[Float] = []
let jsonArr: [[Float]] = [[0.25,2.3 ],[-2.5,8.09 ],[5.3145,20.205]]
for floatArray in jsonArr {
x.append(floatArray[0]) // In your case, floatArray[0].float
y.append(floatArray[1])
}
我正在评估 swiftyJSON,首先尝试一些简单的事情,然后想知道这个循环有什么问题。
这是示例数据。
{
"dataplot2d": [
[0.25,2.3 ],
[-2.5,8.09 ],
[5.3145,20.205]
]
}
这里是将其读入两个独立数组的代码
var x:[Float] = []
var y:[Float] = []
var i:Int = 0
var t:Int = 0
var jsonArr = json["dataplot2d"].arrayValue
for ( i=0; i<jsonArr.count; i++ )//number of data points
{
println("i \(i) t \(t) \(jsonArr[i][t])")
x.append(jsonArr[i][0].array)
y.append(jsonArr[i][1].array)
}
错误是
Could not find member 'array'
??
array
被定义为 https://github.com/SwiftyJSON/SwiftyJSON 为 arrayValue
//Non-optional [JSON]
public var arrayValue: [JSON] {
get {
return self.array ?? []
}
}
我错过了什么?
如果没有 swiftyJSON,也许这会更干净??
只需要解包即可浮动,可惜这在任何地方都没有真正的记录。
x.append(jsonArr[i][0].array)
y.append(jsonArr[i][1].array)
是
x.append(jsonChart[i][0].float! )
y.append(jsonChart[i][1].float! )
注意:我正在将我的评论转换为答案,以便我可以 post 编码。
在你的代码中,jsonArr
是你的数组的一级数组,所以jsonArr[i]
是浮点数的数组,而jsonArr[i][0]
是浮点数,不是数组。这就是混乱的根源。 :)
至于代码的简单性,这里有与您相同的循环,但语法略有 "Swifter"(我不得不稍微调整代码以使其在 Playground 中运行,但它不不要改变我们的事情):
var x:[Float] = []
var y:[Float] = []
let jsonArr: [[Float]] = [[0.25,2.3 ],[-2.5,8.09 ],[5.3145,20.205]]
for floatArray in jsonArr {
x.append(floatArray[0]) // In your case, floatArray[0].float
y.append(floatArray[1])
}