Итерация по вложенной JSON строке в машинописном тексте - PullRequest
1 голос
/ 05 мая 2020

У меня есть тестовая вложенная 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 Ответ

1 голос
/ 05 мая 2020

Ваш 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))
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...