JSON имеет большой смысл для конфигурационных файлов и другого локального использования, потому что он повсеместен и потому что он намного проще, чем XML.
Если у людей есть веские причины воздерживаться от комментариев в JSON при передаче данных (независимо от того, действительны они или нет), возможно, JSON можно разделить на две части:
- JSON-COM: JSON в сети или правила, применяемые при передаче данных JSON.
- JSON-DOC: документ JSON или JSON в файлах или локально. Правила, определяющие действительный документ JSON.
JSON-DOC допускает комментарии, и могут существовать другие незначительные различия, такие как обработка пробелов. Парсеры могут легко конвертировать из одной спецификации в другую.
Относительно замечания 1014 *, сделанного Дугласом Крокфордом по этому вопросу (на которое ссылается @Artur Czajka)
Предположим, вы используете JSON для хранения файлов конфигурации, которые вы хотите аннотировать. Идите вперед и вставьте все комментарии, которые вам нравятся. Затем передайте его через JSMin, прежде чем передать его вашему анализатору JSON.
Мы говорим о проблеме общего файла конфигурации (на разных языках / платформах), и он отвечает с помощью специальной утилиты JS!
Конечно, JSON может быть реализован на любом языке,
но стандартизируйте это так, чтобы оно стало повсеместным в парсерах на всех языках и платформах, чтобы люди перестали тратить свое время на нехватку этой функции, потому что у них есть хорошие варианты использования, поиск проблемы на онлайн-форумах и заставление людей говорить им, что это плохая идея или предлагая легко реализовать извлечение комментариев из текстовых файлов.
Другая проблема заключается в совместимости. Предположим, у вас есть библиотека или API или какая-либо подсистема, с которой связаны некоторые файлы конфигурации или данных. И эта подсистема
быть доступным с разных языков. Тогда вы идете рассказывать людям: кстати
не забудьте удалить комментарии из файлов JSON, прежде чем передавать их парсеру!