Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как преобразовать объект в JSON

Короткий ответ

JSON.stringify() превращает объект в строку JSON:

const user = { name: 'Anna', age: 30, admin: false };
 
console.log(JSON.stringify(user));

Результат:

{"name":"Anna","age":30,"admin":false}

Читаемый формат

Третий аргумент задаёт отступ. Это удобно для логов и файлов:

const user = { name: 'Anna', roles: ['admin'] };
 
console.log(JSON.stringify(user, null, 2));

Результат:

{
  "name": "Anna",
  "roles": [
    "admin"
  ]
}

Только некоторые поля

Вторым аргументом можно передать массив ключей, которые нужно оставить:

const user = { name: 'Anna', password: 'secret', email: 'anna@example.com' };
 
console.log(JSON.stringify(user, ['name', 'email']));

Результат:

{"name":"Anna","email":"anna@example.com"}

Частая ошибка

Некоторые значения не переживают преобразования: функции и undefined пропадают, NaN превращается в null, а даты — в строки:

const data = { a: undefined, b: () => 1, c: NaN, d: new Date(Date.UTC(2025, 0, 1)) };
 
console.log(JSON.stringify(data));

Результат:

{"c":null,"d":"2025-01-01T00:00:00.000Z"}

Функции из этого ответа

  • JSON.stringify — Преобразует значение в строку в формате JSON.
  • JSON.parse — Разбирает строку JSON и возвращает значение.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.