我无法从json对象下面获取键和值,并且出现如下所述的错误。
编辑: 我需要动态查找键(在本例中为“天”和“计数”),然后根据映射这些键获取值。
我已经尝试过:
// json is the json object
var columns = Object.keys($.parseJSON(json)[0]);
//var columns = Object.keys($.parseJSON(json)["Table"]);
var result = JSON.parse(json).map(function (o) {
return columns.map(function (key) {
return o[key];
});
});
JSON对象:
"{
"Table": [
{
"Day": "Jun 18",
"Counts": 3
},
{
"Day": "Jun 19",
"Counts": 5
},
{
"Day": "Jun 20",
"Counts": 8
},
{
"Day": "Jun 21",
"Counts": 15
}]
}"
无法将未定义或null转换为对象
答案 0 :(得分:2)
基于您的json,代码应该像这样
var columns = Object.keys($.parseJSON(json).Table[0]);
var result = JSON.parse(json).Table.map(function (o) {
return columns.map(function (key) {
return o[key];
});
});
答案 1 :(得分:0)
const test = (json) => {
const obj = JSON.parse(json);
const keys = Object.keys(obj.Table[0]);
const values = obj.Table.map(row=>_.values(row));
return {keys, values}
}
const test = (json) => {
const obj = JSON.parse(json);
const keys = Object.keys(obj.Table[0]);
const values = obj.Table.map(row=>_.values(row));
return {keys, values}
}