Перейти к содержанию
  • Категории
  • Последние
  • Метки
  • Популярные
  • Пользователи
  • Группы
Свернуть
Логотип бренда
Категории
  1. Главная
  2. Категории
  3. Языки программирования
  4. JavaScript
  5. Что такое JSON и как использовать JSON.stringify и JSON.parse

Что такое JSON и как использовать JSON.stringify и JSON.parse

Запланировано Прикреплена Закрыта Перенесена JavaScript
javascriptjson
1 Сообщения 1 Постеры 10 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • evoE Не в сети
    evoE Не в сети
    evo
    javascript
    написал отредактировано
    #1

    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 и других языках.
    Поэтому он идеален для обмена данными между разными системами.

    1 ответ Последний ответ
    0
    • evoE evo переместил эту тему из Языки программирования

    • evoE

      Что такое функция замыкания в JavaScript

      Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена JavaScript javascript
      1
      0 Голоса
      1 Сообщения
      10 Просмотры
      Нет ответов
    • evoE

      BigInt в JavaScript: как работать с большими числами

      Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена JavaScript javascript
      1
      0 Голоса
      1 Сообщения
      14 Просмотры
      Нет ответов
    • evoE

      Что такое массив в JavaScript и как использовать методы

      Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена JavaScript javascript
      1
      0 Голоса
      1 Сообщения
      13 Просмотры
      Нет ответов
    • evoE

      Что такое объект и что является его значением

      Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена JavaScript javascript
      1
      0 Голоса
      1 Сообщения
      11 Просмотры
      Нет ответов
    • evoE

      Все типы данных в javascript

      Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена JavaScript javascript
      1
      0 Голоса
      1 Сообщения
      11 Просмотры
      Нет ответов
    • evoE

      Регулярное выражение состоит из шаблона и необязательных флагов

      Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена JavaScript javascript
      1
      0 Голоса
      1 Сообщения
      8 Просмотры
      Нет ответов
    • evoE

      Использование import & export синтаксис

      Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена JavaScript javascript
      1
      0 Голоса
      1 Сообщения
      6 Просмотры
      Нет ответов
    • evoE

      Что такое строгий режим в программировании?

      Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена JavaScript javascript python
      1
      1 Голоса
      1 Сообщения
      10 Просмотры
      Нет ответов

    Контакты

    • forum@eduity.ru

    © 2025 eduity.ru, Inc. Все права защищены.

    Политика конфиденциальности
    • Войти

    • Нет учётной записи? Зарегистрироваться

    • Войдите или зарегистрируйтесь для поиска.
    • Первое сообщение
      Последнее сообщение
    0
    • Категории
    • Последние
    • Метки
    • Популярные
    • Пользователи
    • Группы