Комментарии могут использоваться в JSON?

7085
задан Steve Chambers 22 July 2016 в 05:39
поделиться

9 ответов

Нет.

JSON должен все быть данными, и если Вы будете включать комментарий, тогда это будут данные также.

у Вас мог быть обозначенный элемент данных, названный "_comment" (или что-то), который будет проигнорирован приложениями, которые используют данные JSON.

у Вас, вероятно, лучше был бы комментарий в процессах, который генерирует/получает JSON, поскольку они, как предполагается, знают то, чем данные JSON будут заранее, или по крайней мере структура его.

, Но если Вы решили:

{
   "_comment": "comment text goes here...",
   "glossary": {
      "title": "example glossary",
      "GlossDiv": {
         "title": "S",
         "GlossList": {
            "GlossEntry": {
               "ID": "SGML",
               "SortAs": "SGML",
               "GlossTerm": "Standard Generalized Markup Language",
               "Acronym": "SGML",
               "Abbrev": "ISO 8879:1986",
               "GlossDef": {
                  "para": "A meta-markup language, used to create markup languages such as DocBook.",
                  "GlossSeeAlso": ["GML", "XML"]
               },
               "GlossSee": "markup"
            }
         }
      }
   }
}
5137
ответ дан Christian Neverdal 22 November 2019 в 19:37
поделиться

Вы не можете. По крайней мере, это - мой опыт от быстрого взгляда на json.org .

JSON визуализировали его синтаксис на той странице. Нет никакого примечания о комментариях.

102
ответ дан Peter Mortensen 22 November 2019 в 19:37
поделиться

Идея позади JSON состоит в том, чтобы обеспечить простой обмен данными между приложениями. Они обычно веб-, и языком является JavaScript.

Это действительно не допускает комментарии как таковые, однако, передавая комментарий, поскольку одна из пар имя/значение в данных, конечно, работала бы, хотя те данные должны будут, очевидно, быть проигнорированы или обработаны конкретно кодом парсинга.

Однако это не намерение, что файл JSON должен содержать комментарии в традиционном смысле. Это должны просто быть данные.

Взглянули на веб-сайт JSON для большего количества детали.

30
ответ дан Peter Mortensen 22 November 2019 в 19:37
поделиться

Если ваш текстовый файл, который является строкой JSON, будет прочитан какой-то программой, насколько сложно будет убрать комментарии в стиле C или C++ перед его использованием?

Ответ: Это будет один лайнер. Если вы сделаете это, то JSON-файлы можно будет использовать в качестве конфигурационных файлов.

39
ответ дан 22 November 2019 в 19:37
поделиться

Включите комментарии, если хотите; удалите их с помощью минификатора перед синтаксическим анализом или передачей.

Я только что выпустил JSON.minify () , который удаляет комментарии и пробелы из блока JSON и делает его действительным JSON, который можно анализировать. Итак, вы можете использовать его так:

JSON.parse(JSON.minify(my_str));

Когда я его выпустил, я получил огромную негативную реакцию людей, не согласных даже с его идеей, поэтому я решил, что напишу подробный пост в блоге о том, почему комментарии делают смысл в JSON . Он включает в себя этот примечательный комментарий от создателя JSON:

Предположим, вы используете JSON для хранения файлов конфигурации, которые вы хотите аннотировать. Вставьте все комментарии, которые вам нравятся. Затем пропустите его через JSMin, прежде чем передать его парсеру JSON. - Дуглас Крокфорд, 2012

Надеюсь, это поможет тем, кто не согласен с тем, почему JSON.minify () может быть полезным.

769
ответ дан 22 November 2019 в 19:37
поделиться

Вместо этого следует написать схему JSON . Схема JSON в настоящее время является предлагаемым проектом спецификации Интернета. Помимо документации, схему также можно использовать для проверки ваших данных JSON.

Пример:

{
    "description":"A person",
    "type":"object",
    "properties":
        {
            "name":
                {
                    "type":"string"
                },
            "age":
                {
                    "type":"integer",
                    "maximum":125
                }
        }
}

Вы можете предоставить документацию, используя атрибут схемы description .

66
ответ дан 22 November 2019 в 19:37
поделиться

Нет, у json не может быть комментариев напрямую. Однако, как предполагается в , , вы можете добиться аналогичного эффекта, выполнив что-то вроде

{
    "//name": "Name comment here",
    "name": "Jack",

    "//age": "Age comment here",
    "age": "25"
}

. Большинство анализаторов json будут игнорировать свойства, которые не отображаются.

4
ответ дан datchung 22 November 2019 в 19:37
поделиться

Спецификация JSON не поддерживает комментарии // or /* */ стиль.

, Но приблизительно JSON библиотеки парсинга и IDE поддерживают их. как

  1. json5
  2. VS Code
1
ответ дан 22 November 2019 в 19:37
поделиться

Нет.

JSON должен все быть данными, и если Вы будете включать комментарий, то затем это будут данные также.

нет смысла в комментариях в JSON

1
ответ дан 22 November 2019 в 19:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: