← Все вопросы
Что делают JSON.parse и JSON.stringify в JavaScript?
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 — в строку.
Ваш ответ
Войдите, чтобы ответить на вопрос.