我有一个带有动态键值的 JSON 数组(房间号,每次运行代码时它都会改变)。我想知道如何使用此键值访问内部 JSON 数组。这是我尝试过的,它会引发错误。
JSON 数组(数据)
[{"6011":
[{"occupancy":"2","time":"2017-11-10 00:00:00"},
{"occupancy":"1","time":"2017-11-10 00:30:00"},
{"occupancy":"2","time":"2017-11-10 01:00:00"}]
}]
访问代码
var room = outerJSON.name;
var jsonObject = jQuery.parseJSON(JSON.stringify(data));
var innerArray = jsonObject[room]; // returns undefined
var innerArray2 = jsonObject.get(room); // Uncaught TypeError: jsonObject.get is not a function
最佳答案
您的对象位于数组内,因此您应该使用 [0]
将代码指向数组 jsonObject
的第一列,如下所示:
var innerArray = jsonObject[0][room];
var data = [{
"6011": [{
"occupancy": "2",
"time": "2017-11-10 00:00:00"
},
{
"occupancy": "1",
"time": "2017-11-10 00:30:00"
},
{
"occupancy": "2",
"time": "2017-11-10 01:00:00"
}
]
}];
var room = "6011";
var jsonObject = jQuery.parseJSON(JSON.stringify(data));
var innerArray = jsonObject[0][room];
console.log(innerArray);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
关于javascript - 如何在 JavaScript 中解析具有动态键值的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47534809/