Через JSON.parse
const text = '{"id":1,"name":"Ann"}';
const data = JSON.parse(text);
console.log(data.name);
Второй аргумент — reviver (преобразование по пути разбора):
const data = JSON.parse(text, (key, value) => {
if (key === "createdAt") return new Date(value);
return value;
});
Ошибки и безопасность
Невалидный JSON → SyntaxError. Всегда оборачивайте внешние данные:
function safeParse(text, fallback = null) {
try {
return JSON.parse(text);
} catch {
return fallback;
}
}
Не используйте eval для «парсинга». Не парсите неtrusted HTML как JSONP. Для localStorage проверяйте форму данных после parse.
const saved = safeParse(localStorage.getItem("prefs"), {});
Итог: парсинг JSON в объект — JSON.parse; ловите SyntaxError и не подменяйте eval’ом.