Что такое JSON и как использовать JSON.stringify и JSON.parse
-
JSON (JavaScript Object Notation) — это текстовый формат для хранения и передачи данных.
Он выглядит похоже на объект в JavaScript, но является строкой, которую можно легко отправить по сети или сохранить.Пример JSON:
'{"name": "Анна", "age": 28, "city": "Москва"}'
Это не объект, а строка в специальном формате.
Зачем нужен JSON?
Когда данные нужно:
- отправить с клиента на сервер,
- получить от сервера,
- сохранить в файле,
— их преобразуют в JSON (в строку), потому что по сети нельзя передавать объекты напрямую.
Два главных метода:
JSON.stringify
иJSON.parse
1.
JSON.stringify(объект)
→ превращает объект/массив в JSON-строкуlet user = { name: "Анна", age: 28 }; let json = JSON.stringify(user); console.log(json); // '{"name":"Анна","age":28}'
Используется, когда нужно отправить данные (например, на сервер).
Особенности
stringify
:- Поддерживает объекты, массивы, числа, строки,
null
,true
/false
- Игнорирует функции,
undefined
, символы (Symbol
) - Можно красиво форматировать:
JSON.stringify(user, null, 2); // красиво отформатированная строка: // { // "name": "Анна", // "age": 28 // }
2.
JSON.parse(строка)
→ превращает JSON-строку обратно в объект/массивlet json = '{"name":"Анна","age":28}'; let user = JSON.parse(json); console.log(user.name); // "Анна"
Используется, когда получаешь данные (например, с сервера).
Особенности
parse
:- Строка должна быть в правильном JSON-формате
- Кавычки — только двойные (
"
) - Никаких функций или одинарных кавычек
Так нельзя:
JSON.parse("{'name': 'Анна'}"); // Ошибка: одинарные кавычки JSON.parse('{"name": undefined}'); // Ошибка: undefined в JSON запрещён
Пример: отправка и получение данных
// 1. Отправляем данные на сервер let data = { title: "Книга", price: 1000 }; let json = JSON.stringify(data); // отправляем json как строку через fetch или WebSocket // 2. Получаем строку с сервера let response = '{"title":"Книга","price":1000}'; let obj = JSON.parse(response); console.log(obj.title); // "Книга"
Круг в одном примере:
let original = { name: "Петя", isStudent: true }; // В строку let str = JSON.stringify(original); // Обратно в объект let copy = JSON.parse(str); console.log(copy.name); // "Петя"
Это часто используют для глубокого копирования объекта.
Итог
Метод Что делает Когда использовать JSON.stringify(obj)
Объект → JSON-строка Чтобы отправить или сохранить данные JSON.parse(str)
JSON-строка → объект Чтобы прочитать или получить данные Правила JSON:
- Только двойные кавычки:
"
(не'
) - Нет
undefined
,function
,Symbol
- Поддерживает: объекты, массивы, строки, числа,
null
,true
/false
JSON — универсальный формат. Он используется не только в JavaScript, но и в Python, Java, PHP и других языках.
Поэтому он идеален для обмена данными между разными системами. -
E evo переместил эту тему из Языки программирования
-
-
-
-
-
Все типы данных в javascript
Перенесена JavaScript -
-
-
© 2025 eduity.ru, Inc. Все права защищены.