javascript - 如何在 JavaScript 中解析具有动态键值的 JSON

标签 javascript arrays json

我有一个带有动态键值的 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/

相关文章:

c中字符串与字符数组的比较

java - 从数组中读取 N 个相邻元素的组

javascript - ObservableArray 中的第一个数组项

javascript - NodeJS - 从 Google Drive 下载

javascript - 使用带有钩子(Hook)的 React.memo 来控制输入

arrays - 用于创建结构数组的 Hive SELECT 语句

android - 检查 json 数组中的对象是否格式错误

python - 是否有用于 Python 的 Gson 类似库

javascript - jQuery 事件处理和 ready 函数

javascript - 将多级 javascript 对象输出到 html 列表中