7 мин чтения
2026-03-07
JSON Schema позволяет задать правила структуры и типов данных:
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"required": ["name", "age"],
"properties": {
"name": { "type": "string", "minLength": 1 },
"age": { "type": "integer", "minimum": 0, "maximum": 150 },
"email": { "type": "string", "format": "email" }
}
}JSONPath — аналог XPath для JSON:
| Выражение | Значение |
|---|---|
| `$.store.book[*].author` | Все авторы книг |
| `$..price` | Все цены (рекурсивно) |
| `$.book[?(@.price < 10)]` | Книги дешевле 10 |
| `$.book[-1:]` | Последняя книга |
Для файлов свыше 10 МБ используйте стриминговый парсинг:
**Node.js (stream-json):**
const { parser } = require('stream-json');
const { streamValues } = require('stream-json/streamers/StreamValues');
fs.createReadStream('large.json')
.pipe(parser())
.pipe(streamValues())
.on('data', ({ value }) => processItem(value));**Trailing comma** — лишняя запятая в конце массива/объекта
**Одинарные кавычки** — JSON требует двойных
**undefined** — не является валидным значением JSON
**NaN/Infinity** — не поддерживаются, замените на null
Всегда возвращайте Content-Type: application/json
Используйте camelCase для ключей в JavaScript API
Оборачивайте коллекции: `{"data": [...], "meta": {...}}`
Версионируйте API: `/api/v1/resource`
Форматируйте и валидируйте JSON в JSON Formatter.
Смотрите также: YAML ↔ JSON, XML Formatter, Генератор тестовых данных
Форматирование, минификация и валидация JSON
Открыть инструмент