← Все вопросы

Что делают JSON.parse и JSON.stringify в JavaScript?

Задан 18 месяцев назад871 просмотров4 ответа
14

Постоянно встречаю JSON.parse и JSON.stringify при работе с API и localStorage. Что они делают и чем отличаются?

4 ответа

25
✓ Принятый ответ — помог автору

Это пара методов «туда-обратно»:

  • JSON.stringify(obj) — превращает объект/массив JS в строку JSON.
  • JSON.parse(str) — превращает строку JSON обратно в объект JS.
const user = { name: 'Аня', age: 20 };

const str = JSON.stringify(user);
// '{"name":"Аня","age":20}'  — это строка

const back = JSON.parse(str);
// { name: 'Аня', age: 20 }    — снова объект

Зачем: по сети и в localStorage можно хранить/передавать только строки, поэтому объект сначала stringify, а на другой стороне parse. Помни: JSON.parse кинет ошибку, если строка кривая — оборачивай в try/catch.

Арина Лебедева localStorage только строки — вот почему у меня [object Object] вылезал 😄 · 18 месяцев назад
11

stringify — объект в строку, parse — строку в объект. Обратные друг другу.

7

Лайфхак для глубокой копии простого объекта: JSON.parse(JSON.stringify(obj)). Но осторожно — теряются функции, undefined, и ломаются даты.

3

parse — из строки, stringify — в строку.

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект