我有一个JSON文件,我想从中创建一个多维数组。此信息存储在JSON文件中。
这是JSON数据。
{
"table": {
"columnNames": ["column1", "column2", "column3", "column4"],
"columnTypes": ["String", "String", "String", "String"],
"rows": [
["data00", "data01", "data02", "data03"],
["data10", "data11", "data12", "data13"],
["data20", "data21", "data22", "data23"],
["data30", "data31", "data32", "data33"]
]
}
}
我需要从"行"中的对象创建一个数组数组。部分。
任何帮助将不胜感激!
感谢!!!
答案 0 :(得分:1)
解析JSON后,“table.rows”属性将已经是一个多维数组(2个维度,具体而言)。您所要做的就是访问它:
var array2D = parsed.table.rows;
至于解析,你应该使用类似Crockford's parser的东西:
var parsed = JSON.parse(rawStringOfJSON);
答案 1 :(得分:0)
首先需要将字符串转换为JS对象。
中的json2.js
请注意,如果您考虑支持旧浏览器,则需要添加json2.js。较新的浏览器内置了对JSON
的支持将字符串反序列化为对象
var myObject = JSON.parse(myJSONtext);
现在你可以访问
了myObject.table.rows[1][2]; // yields data12
答案 2 :(得分:0)
rows部分已经包含一个数组数组,所以只需使用:
var result = JSON.parse('{
"table": {
"columnNames": ["column1", "column2", "column3", "column4"],
"columnTypes": ["String", "String", "String", "String"],
"rows": [
["data00", "data01", "data02", "data03"],
["data10", "data11", "data12", "data13"],
["data20", "data21", "data22", "data23"],
["data30", "data31", "data32", "data33"]
]
}
}');
var rows = result.table.rows;