你如何解析具有这种格式而不是数组的 json 对象

How do you parse a json object that has this format instead of an array

如何正确解析具有以下结构的 json 对象;

{
  "cutoffTimes" : {
    "85c46c49-99b6-47a1-9726-960c8fe6c337" : {
      "id" : "85c46c49-99b6-47a1-9726-960c8fe6c337",
      "customerId" : "fc0097ec-9c41-467f-9b81-50d9a07c65e8",
      "time" : "17:00:00",
      "deadlineCutoffType" : "TRANSMISSION"
    },
    "1784efdd-750f-4bae-b65f-179a4e8c28f3" : {
      "id" : "1784efdd-750f-4bae-b65f-179a4e8c28f3",
      "customerId" : "fc0097ec-9c41-467f-9b81-50d9a07c65e8",
      "time" : "18:00:00",
      "deadlineCutoffType" : "TRANSMISSION"
    },
    "86a2d573-e4f4-451a-930e-99922f1f229d" : {
      "id" : "86a2d573-e4f4-451a-930e-99922f1f229d",
      "customerId" : "fc0097ec-9c41-467f-9b81-50d9a07c65e8",
      "time" : "21:30:00",
      "deadlineCutoffType" : "TRANSMISSION"
    }
}

我通常会这样做

let _times = JSON.parse({jsondoc});
console.log(`There are ${_times.cutoffTimes.length} times available`);

但是,在本文档中,cutoffTimes 不是数组。

您可以使用 Object.keys 检查长度。它将您的对象转换为数组,如 ['85c46c49-99b6-47a1-9726-960c8fe6c337', '1784efdd-750f-4bae-b65f-179a4e8c28f3', ...]

console.log(`There are ${Object.keys(_times.cutoffTimes).length} times available`);