gpt4 book ai didi

arrays - 另一种::如何使用 swiftyjson 循环遍历 json 数据?

转载 作者:行者123 更新时间:2023-11-30 10:16:41 25 4
gpt4 key购买 nike

我通过首先尝试一些简单的事情来评估 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)
}

错误是找不到成员“数组”

array 已定义 https://github.com/SwiftyJSON/SwiftyJSON对于arrayValue

//Non-optional [JSON]
public var arrayValue: [JSON] {
get {
return self.array ?? []
}
}

我错过了什么?

如果没有 swiftyJSON,也许这会更干净?

最佳答案

注意:我正在将我的评论转换为答案,以便我可以发布代码。

在您的代码中,jsonArr 是第一级数组数组,因此 jsonArr[i] 是 float 数组,而 jsonArr[i] [0] 是 float ,而不是数组。这就是困惑的根源。 :)

至于代码的简单性,这里的循环与您的循环相同,但具有稍微“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])
}

关于arrays - 另一种::如何使用 swiftyjson 循环遍历 json 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29611483/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com