Главная мысль
JSON.stringify(value) превращает JS-значение в JSON-строку для передачи/хранения.
const payload = { id: 1, name: "Ann" };
const text = JSON.stringify(payload);
localStorage.setItem("user", text);
await fetch("/api", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: text,
});
Полезные аргументы
JSON.stringify(obj, null, 2);
JSON.stringify(obj, ["id", "name"]);
JSON.stringify(obj, (key, val) => (key === "password" ? undefined : val));
Что теряется / меняется
| Значение | Результат |
|---|
undefined в объекте | ключ пропускается |
undefined в массиве | null |
Date | ISO-строка |
| функция / Symbol | пропускаются |
| циклические ссылки | TypeError |
Итог: stringify — сериализация в JSON-текст; помните ограничения и replacer/space.