JSON выглядит просто: фигурные скобки, ключи и значения. Но даже одна лишняя запятая может сделать весь документ невалидным.
Ниже — семь ошибок, которые встречаются чаще всего.
1. Одинарные кавычки вместо двойных
Неправильно:
{
'name': 'AllBlog'
}
Правильно:
{
"name": "AllBlog"
}
В JSON строки и имена ключей должны быть заключены в двойные кавычки.
2. Лишняя запятая в конце
Неправильно:
{
"name": "AllBlog",
"year": 2026,
}
После последнего свойства запятая не ставится.
Правильно:
{
"name": "AllBlog",
"year": 2026
}
Та же ошибка часто встречается в массивах.
3. Ключ написан без кавычек
Такой объект допустим в JavaScript, но не в JSON:
{
name: "AllBlog"
}
Валидный вариант:
{
"name": "AllBlog"
}
JSON похож на объект JavaScript, но правила у него строже.
4. Используются неподдерживаемые значения
В JSON есть ограниченный набор типов:
- строка;
- число;
- объект;
- массив;
true;false;null.
Нельзя использовать:
undefined
NaN
Infinity
функции
комментарии
Например, вместо undefined обычно передают null или вообще не добавляют поле.
5. Не закрыта скобка
Неправильно:
{
"user": {
"name": "Alex"
}
Здесь открыт внешний объект и вложенный объект, но закрыт только один.
Правильно:
{
"user": {
"name": "Alex"
}
}
При глубокой вложенности такую ошибку сложно заметить глазами. Форматирование с отступами делает структуру понятнее.
6. В строке находится необработанная кавычка
Неправильно:
{
"message": "Он сказал "привет""
}
Внутренние кавычки нужно экранировать:
{
"message": "Он сказал \"привет\""
}
А перенос строки внутри значения записывается как \n.
7. Несколько значений идут подряд
Неправильно:
{"id": 1}
{"id": 2}
Обычный JSON-документ должен содержать одно корневое значение.
Если нужны несколько объектов, поместите их в массив:
[
{"id": 1},
{"id": 2}
]
Отдельный формат JSON Lines действительно хранит по одному объекту в строке, но это уже не обычный единый JSON-документ.
Как быстро найти ошибку
Вместо ручного поиска можно вставить документ в JSON Formatter AllBlog.
Сервис умеет:
- проверять синтаксис;
- показывать сообщение об ошибке;
- форматировать JSON с отступами;
- минифицировать документ в одну строку;
- сохранять Unicode-символы в читаемом виде.
Для быстрой проверки можно использовать сочетание Ctrl + Enter.
Красивый JSON и минифицированный JSON
Форматированный вариант удобен человеку:
{
"name": "AllBlog",
"tools": [
"JSON",
"Regex",
"Cron"
]
}
Минифицированный вариант занимает меньше места:
{"name":"AllBlog","tools":["JSON","Regex","Cron"]}
Содержание одинаковое. Меняется только количество пробелов и переносов.
Итог
Большинство проблем с JSON сводится к нескольким правилам: двойные кавычки, отсутствие лишней запятой, закрытые скобки и поддерживаемые типы данных.
Если документ большой, сначала отформатируйте его и запустите валидатор. Сообщение об ошибке почти всегда быстрее ручного поиска.
Комментарии 0
Есть мысль, дополнение или вопрос? Пиши.
Оставь первый комментарий и начни обсуждение.