遍历打字稿中的嵌套JSON字符串

时间:2020-05-05 04:55:51

标签: javascript json typescript

我有一个测试嵌套的JSON字符串。

const testString = `{
  "object1": {
    "5": [
      {
        "id": "A2OKPZ5S9F78PD",
        "rate": "2",
        "item": "item",
        "status": "status"
      }
    ]
  },
  "type": "LIVE_EVENT"
}`;

const model = JSON.parse(testString);
Object.values(model.object1).forEach((obj) =>
  obj.foreach((innerObj) => console.log(innerObj))
);

正如您在上面看到的那样,我试图将其解析为JSON并进行遍历。我在JSON.parse内部对象期间遇到的问题假定类型为undefined,并且无法将foreach应用于该类型。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

您的JSON (在编辑之前)是无效的(由于在状态键/值对之后,并且forEach()带有大写字母E)后加了一个逗号。此外,如注释中所述在下面,您似乎需要将内部obj转换为可以理解forEach()的类型:

const testString = `{"object1":{"5":[{"id":"A2OKPZ5S9F78PD","rate":"2","item":"item","status":"status"}]},"type":"LIVE_EVENT"}`;
const model = JSON.parse(testString);
Object.values(model.object1).forEach((obj) =>
  (obj as any).forEach((innerObj) => console.log(innerObj))
);