Я не могу представить json-файл «auto, созданный другой программой» , содержащий комментарии внутри. Поскольку json spec вообще не содержит комментариев, а это по дизайну , поэтому никакая библиотека json не выводит json-файл с комментарием.
Эти комментарии обычно добавляются позже человеком. Никакого исключения в этом случае. OP упомянул, что в своем посте: //"birthday": "nothing" //I comment this line
.
Итак, реальный вопрос должен быть, как правильно комментировать какой-то контент в json-файле, но при этом сохраняя его соответствие спецификации и, следовательно, ее совместимость с другими json libraries?
И ответ: переименуйте свое поле в другое имя. Пример:
{
"foo": "content for foo",
"bar": "content for bar"
}
можно изменить на:
{
"foo": "content for foo",
"this_is_bar_but_been_commented_out": "content for bar"
}
Это будет работать очень хорошо большую часть времени, потому что потребитель, скорее всего, игнорирует неожиданные поля (но не всегда, это зависит от реализации вашего json-файла. Итак, YMMV.)
UPDATE: По-видимому, некоторые читатели были недовольны, потому что этот ответ не дает ожидаемого «решения». Ну, на самом деле, я дал рабочее решение, неявно связавшись с цитатой JSON дизайнера :
Douglas Crockford Public Apr 30, 2012 Комментарии в JSON
Я удалил комментарии от JSON, потому что видел, как люди использовали их для хранения директив синтаксического анализа, что могло бы повредить интероперабельность. Я знаю, что отсутствие комментариев заставляет некоторых людей печально, но это не должно.
Предположим, вы используете JSON для хранения файлов конфигурации, которые вы хотели бы аннотировать. Вперед и вставьте все комментарии, которые вам нравятся. Затем проведите его через JSMin, прежде чем передавать его вашему парсера JSON.
blockquote>Итак, да, используйте JSMin . Просто имейте в виду, что, когда вы направляетесь к «использованию комментариев в JSON», это концептуально неизведанная территория. Нет никакой гарантии, что какие бы инструменты вы ни выбрали: inline
[1,2,3,/* a comment */ 10]
, стиль Python[1, 2, 3] # a comment
(который является комментарием на Python, но не в Javascript), стиль INI[1, 2, 3] ; a comment
, ..., вы получаете идею.Я бы по-прежнему предлагал НЕ добавлять в JSON несовместимые комментарии.
https://хром установки www.npmjs.com/package/chromium
npm
окна For:
\node_modules\chromium\lib\chromium\chrome-win\chrome.exe
Это работало на меня (в Windows Subsystem для Linux, Ubuntu):
npm install puppeteer
sudo apt-get install gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget
список Зависимости от: https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md#chrome-headless-doesnt-launch-on-unix