5 распространенных синтаксических ошибок JSON и как их исправить
Освойте синтаксис JSON с помощью этого полного руководства по 5 наиболее распространенным ошибкам, с которыми сталкиваются разработчики. Научитесь выявлять, исправлять и предотвращать проблемы валидации JSON с практическими примерами и профессиональными советами.
Big JSON Team
• Technical WriterExpert in JSON data manipulation, API development, and web technologies. Passionate about creating tools that make developers' lives easier.
# 5 распространенных синтаксических ошибок JSON и как их исправить
JSON (JavaScript Object Notation) встречается повсюду в современной веб-разработке — от API-ответов до файлов конфигурации. Несмотря на простой синтаксис, разработчики постоянно сталкиваются с раздражающими ошибками JSON, которые ломают приложения.
Это руководство охватывает 5 наиболее распространенных синтаксических ошибок JSON, с которыми вы столкнетесь, как их мгновенно идентифицировать и как исправить навсегда.
---
Почему ошибки JSON так распространены
Строгие синтаксические требования JSON означают, что даже один неправильно размещенный символ может сделать весь документ недействительным. В отличие от JavaScript, JSON:
- ✅ Требует двойные кавычки для строк (одинарные кавычки недопустимы)
- ✅ Запрещает завершающие запятые
- ✅ Требует точного форматирования для ключей и значений
- ✅ Не допускает комментариев
Давайте рассмотрим ошибки, которые чаще всего сбивают разработчиков с толку.
---
Ошибка #1: Завершающие запятые (Тихий убийца)
Проблема
Завершающие запятые — лишние запятые после последнего элемента в массиве или объекте — совершенно допустимы в JavaScript, но полностью запрещены в JSON.
❌ Недействительный JSON
{
"username": "alice123",
"email": "alice@example.com",
"active": true,
}
{
"products": [
{ "id": 1, "name": "Laptop" },
{ "id": 2, "name": "Mouse" },
{ "id": 3, "name": "Keyboard" },
]
}
✅ Действительный JSON
{
"username": "alice123",
"email": "alice@example.com",
"active": true
}
{
"products": [
{ "id": 1, "name": "Laptop" },
{ "id": 2, "name": "Mouse" },
{ "id": 3, "name": "Keyboard" }
]
}
Сообщение об ошибке
Unexpected token } in JSON at position 78
SyntaxError: Trailing comma in JSON
Как исправить
Ручное исправление:} или ]// В редакторе кода ищите эти паттерны:
,\s} // Запятая перед закрывающей скобкой
,\s] // Запятая перед закрывающей квадратной скобкой
---
Ошибка #2: Одинарные кавычки вместо двойных
Проблема
JavaScript допускает и одинарные, и двойные кавычки для строк, но JSON принимает только двойные кавычки ("). Использование одинарных кавычек — одна из самых распространенных ошибок при преобразовании объектов JavaScript в JSON.
❌ Недействительный JSON
{
'name': 'John Doe',
'age': 30,
'city': 'New York'
}
✅ Действительный JSON
{
"name": "John Doe",
"age": 30,
"city": "New York"
}
Как исправить
Быстрое исправление:// JavaScript: Замена одинарных кавычек на двойные
const fixedJson = invalidJson.replace(/'/g, '"');
Лучший подход: Используйте правильную JSON-сериализацию:
// Вместо ручного написания JSON с кавычками:
const wrong = "{ 'name': 'John' }"; // ❌
// Используйте JSON.stringify():
const obj = { name: 'John' };
const correct = JSON.stringify(obj); // ✅
---
Ошибка #3: Ключи без кавычек
Проблема
В JavaScript ключи объектов могут быть без кавычек, если они являются допустимыми идентификаторами. JSON требует, чтобы все ключи были строками в двойных кавычках.
❌ Недействительный JSON
{
name: "Alice",
age: 28,
isActive: true
}
✅ Действительный JSON
{
"name": "Alice",
"age": 28,
"isActive": true
}
Как исправить
Пользователи Visual Studio Code:---
Ошибка #4: Недопустимые escape-последовательности
Проблема
JSON поддерживает ограниченный набор escape-последовательностей. Использование недопустимых или забывчивость экранировать специальные символы вызывает ошибки парсинга.
❌ Недействительный JSON
{
"path": "C:\Users\Alice\Documents",
"message": "Line 1
Line 2"
}
✅ Действительный JSON
{
"path": "C:\\Users\\Alice\\Documents",
"message": "Line 1\nLine 2"
}
Допустимые escape-последовательности в JSON
| Символ | Escape-последовательность | Описание |
|-----------|----------------|-------------|
| " | \" | Двойная кавычка |
| \ | \\ | Обратная косая черта |
| / | \/ | Косая черта |
| Новая строка | \n | Перевод строки |
| Табуляция | \t | Горизонтальная табуляция |
| Unicode | \uXXXX | Unicode символ |
---
Ошибка #5: Комментарии в JSON (JSON ≠ JavaScript!)
Проблема
Разработчики часто добавляют комментарии в JSON-файлы для документации, но JSON не поддерживает комментарии любого типа. Ни //, ни / /.
❌ Недействительный JSON
{
// Конфигурация пользователя
"username": "admin",
"role": "superuser",
"debugMode": true
}
✅ Действительный JSON (комментарии не разрешены)
{
"username": "admin",
"role": "superuser",
"debugMode": true
}
Обходные пути
Вариант 1: Используйте поле для комментариев{
"_comment": "Конфигурация пользователя - обновить перед продакшеном",
"username": "admin",
"role": "superuser",
"debugMode": true
}
Вариант 2: Используйте JSON5 или JSONC
Для файлов конфигурации рассмотрите:
- JSON5: Поддерживает комментарии, завершающие запятые и многое другое
- JSONC: JSON с комментариями (используется в VS Code)
---
Бонус: Как поймать ошибки JSON на ранней стадии
1. Используйте онлайн-валидаторы
BigJSON Validator - Мгновенная валидация с полезными сообщениями об ошибках2. Расширения IDE
VS Code:- Встроенная валидация JSON
- Установите "Error Lens" для встроенных сообщений об ошибках
3. Pre-commit хуки
# .git/hooks/pre-commit
#!/bin/bash
for file in $(git diff --cached --name-only | grep -E '\.json$'); do
if ! python -m json.tool "$file" > /dev/null 2>&1; then
echo "Invalid JSON in $file"
exit 1
fi
done
---
Быстрая справка: Контрольный список обнаружения ошибок
Перед отправкой или развертыванием JSON-файлов проверьте:
- [ ] Нет завершающих запятых после последних элементов
- [ ] Все строки используют двойные кавычки (
") - [ ] Все ключи объектов в кавычках
- [ ] Специальные символы правильно экранированы
- [ ] Нет комментариев нигде
- [ ] Правильная вложенность скобок
- [ ] Допустимые типы данных (string, number, boolean, null, object, array)
---
Инструменты для предотвращения ошибок JSON
1. Онлайн-инструменты BigJSON
Посетите BigJSON для:
- Форматтер: Автоматическое исправление проблем форматирования
- Валидатор: Мгновенная проверка синтаксиса
- Минификатор: Удаление пробелов для продакшена
2. Инструменты командной строки
# Встроенный валидатор Node.js
node -e "JSON.parse(require('fs').readFileSync('file.json'))"
# Python валидатор
python -m json.tool file.json
# jq (JSON процессор)
jq . file.json
---
Заключение
5 наиболее распространенных синтаксических ошибок JSON:
} и ]")Следующие шаги
---
Связанные ресурсы
- Распространенные ошибки JSON и как их исправить
- Как форматировать JSON-файлы
- Инструмент валидации JSON
- Онлайн-форматтер JSON
---
Последнее обновление: 15 февраля 2026 г.Похожие статьи
Как форматировать JSON: Полное руководство
Научитесь правильно форматировать JSON для улучшения читаемости. Инструменты, методы и лучшие практики форматирования JSON.
Python и JSON: Полное руководство по работе с данными
Исчерпывающее руководство по работе с JSON в Python: парсинг, сериализация, обработка ошибок, продвинутые техники и best practices.
Распространённые ошибки JSON и их решения
Полный справочник по распространённым ошибкам JSON: причины, примеры и способы исправления. Научитесь отлаживать и исправлять JSON.