JSON5 і JSONC: JSON із коментарями
Обидва діалекти існують, бо написана людиною конфігурація потребує коментарів і висячих ком, але їхній синтаксис і охоплення екосистемою різняться, тож неправильний вибір затискає ваш інструментарій.
JSON5, JSONC, JSON Lines і NDJSON розвʼязують реальні потреби, як-от коментарі, висячі коми та потокова обробка, і приносять власні проблеми сумісності й вибору.
Статей: 6Обидва діалекти існують, бо написана людиною конфігурація потребує коментарів і висячих ком, але їхній синтаксис і охоплення екосистемою різняться, тож неправильний вибір затискає ваш інструментарій.
Одне значення JSON на рядок дає дописуваність, потоковість і пошкодження, ізольоване одним рядком; ціна — відсутність загальної структури, тож перевіряти доводиться рядок за рядком.
RFC 7464 використовує роздільник 0x1E для потокової передачі текстів JSON, які можна читати й писати водночас. Охоплює правила, відмінність від NDJSON і реалізацію «розділити, потім розібрати».
Конфігураційним файлам потрібні коментарі, дати й багаторядковий текст, і саме тут JSON поступається. Порівняйте JSON, TOML, YAML і CSON та побачте, що конвертація втрачає завжди.
MessagePack, CBOR і BSON стискають JSON у байти. Порівняйте витрати байтів, обробку int64 і двійкових даних та отримайте чітку межу, коли перехід вартий того.
Якщо весь .jsonl-файл передати JSON.parse або json.load і отримати помилку — майже завжди винен не файл, а спосіб читання. У статті: стандартні патерни перевірки та построкового читання, команди взаємного перетворення з JSON-масивом, таблиця шести типів битих рядків і коректне споживання NDJSON з потокової HTTP-відповіді.