Swift相当新,并试图弄清楚如何使用我的JSON数组的值填充Swift数组。
在我的课程中,我定义了以下值来保存图表的x轴值。
var xVal: [String]!
下面我尝试踢出静态数组并将其替换为JSON文件中的数据。 xVal
尝试访问JSON文件,yVal
是静态的,并且运行正常。 xVal
发出以下错误:Cannot subscript a value of type 'JSON' with an index of type 'String'
xVal = dataStatistics[indexPath.section]["xval"]
let yVal = [20.0, 4.0, 6.0, 3.0, 12.0, 16.0, 4.0, 18.0, 2.0, 4.0, 5.0, 4.0]
setChart(xVal, values: yVal)
这是JSON文件的结构:
{
"statistics": [
{
"title": "Title of chart 1",
"description": "Chart one contains data of the last year",
"xval": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
"yval": [20.0, 4.0, 6.0, 3.0, 12.0, 16.0, 4.0, 18.0, 2.0, 4.0, 5.0, 4.0]
}
]
}
答案 0 :(得分:0)
根据输入的json数据,我假设swiftyjson
解析statistics
到另一个json类型。所以你可以尝试这个
let stats = dataStatistics[indexPath.section].dictionaryValue
xval = stats["xval"]
看看是否有效
答案 1 :(得分:0)
不知道是否有更好的方法,但这段代码应该适合你:
var xVal: [String] = []
let stats = dataStatistics[indexPath.row]["xval"]
if let array = stats.array {
for json in array {
xVal.append(json.string!)
}
print(xVal)
}