JSON в JS-объект

Рейтинг: 0Ответов: 2Опубликовано: 31.01.2023

Помогите, пожалуйста! Есть задание на обучающей платформе: Написать код, который будет преобразовывать JSON в JS-объект и выводить его в консоль. Не понимаю, как использовать forEach. Буду очень признательна)

JSON:

{
 "list": [
  {
   "name": "Petr",
   "age": "20",
   "prof": "mechanic"
  },
  {
   "name": "Vova",
   "age": "60",
   "prof": "pilot"
  }
 ]
}

JS-объект:

{list: [
    { name: 'Petr', age: 20, prof: 'mechanic' },
    { name: 'Vova', age: 60, prof: 'pilot' },
  ]
}

Ответы

▲ 0Принят

const item = `{
 "list": [
  {
   "name": "Petr",
   "age": 20,
   "prof": "mechanic"
  },
  {
   "name": "Vova",
   "age": 60,
   "prof": "pilot"
  }
 ]
}`

JSON.parse(item).list.forEach(obj => console.log(obj));

▲ 1

JSON - это строка (String). Поэтому через forEach (принадлежит типу Array, а не String) его перебрать вообще нельзя. (Теоретически можно, но зачем стрелять себе в ногу?)

Используй JSON.parse(string) - преобразовывает валидную json строку в js object.

const json = `{
 "list": [
  {
   "name": "Petr",
   "age": "20",
   "prof": "mechanic"
  },
  {
   "name": "Vova",
   "age": "60",
   "prof": "pilot"
  }
 ]
}`;

const jsObjects = JSON.parse(json);

console.log(jsObjects);
jsObjects.list.push({"name": "TEST", "age": 7, "prof": "..."});
console.log(jsObjects);