Один из наиболее часто задаваемых вопросов, связанных с JSON: «Можем ли мы создавать или использовать комментарии в формате данных JSON?». Ответ на этот вопрос немного сложнее, когда мы можем, да или нет. Мы ответим, можем ли мы создавать и использовать комментарии в JSON в этой статье со всех точек зрения.
Формально мы не можем создать комментарий в JSON
Начнем с плохих новостей. Официальное определение или стандарт JSON не поддерживает комментарии. В качестве простого формата данных стандартный комитет, хотя это не является необходимым для создания комментариев в формате данных.
Комментарии в JSON5
JSON5 – это неофициальный стандарт, созданный разработчиками и опубликованный в GitHub. с помощью JSON5 создаются некоторые расширения стандарта JSON. Одним из них являются комментарии, которые поддерживаются JSON5. Согласно JSON5 допускаются одно- и многострочные комментарии. Вот пример комментариев JSON5. Мы видим, что //это используется для создания однострочного комментария, где /* и */используется для создания многострочного комментария.
{ //Используется имя. Укажите имя пользователя "firstName":"AndreyEx", "lastName":"Destroyer", "age":21, "birth":"1998-05-22", /* Адресный блок предоставляет полный адрес пользователя */ "address":{ "streetAddress":"Krasnayа Street", "city":"Krasnodar", "state":"Krasnodar Kray", "postalCode":350035 }, "phoneNumbers":[ { "type":"home", "number":"8 999 99-99-99" }, { "type":"fax", "number":"8 888 88-88-88" } ] }
Использование элемента данных _comment для комментариев
Поскольку JSON официально не поддерживает комментарии, но разработчики очень нуждаются в комментариях, они создают альтернативные способы создания комментариев. Одним из них является использование элемента данных _comment внутри данных JSON, как показано ниже.
{ "_comment":"Используется имя. Укажите имя пользователя", "firstName":"AndreyEx", "lastName":"Destroyer", "age":21, "birth":"1998-05-22", "_comment":"Адресный блок предоставляет полный адрес пользователя", "address":{ "streetAddress":"Krasnayа Street", "city":"Krasnodar", "state":"Krasnodar Kray", "postalCode":350035 }, "phoneNumbers":[ { "type":"home", "number":"8 999 99-99-99" }, { "type":"fax", "number":"8 888-88-88" } ] }
Использование комментария. Элемент данных для комментария
Мы также можем использовать непосредственно comment как элемент данных, который очень похож на _comment.
{ "comment":"Используется имя. Укажите имя пользователя", "firstName":"AndreyEx", "lastName":"Destroyer", "age":21, "birth":"1998-05-22", "comment":"Адресный блок предоставляет полный адрес пользователя", "address":{ "streetAddress":"Krasnayа Street", "city":"Krasnodar", "state":"Krasnodar Kray", "postalCode":350035 }, "phoneNumbers":[ { "type":"home", "number":"8 999 99-99-99" }, { "type":"fax", "number":"8 888-88-88" } ] }/
Использование / * */ и // C и C ++ как комментарии
Даже JSON5 поддерживает однострочные // комментарии, а /* */ – многострочные комментарии обычные JSON не поддерживают. Мы можем использовать их, как показано ниже.
{ // Используется имя. Укажите имя пользователя "firstName":"AndreyEx", "lastName":"Destroyer", "age":21, "birth":"1998-05-22", // Адресный блок предоставляет полный адрес пользователя "address":{ "streetAddress":"Krasnayа Street", "city":"Krasnodar", "state":"Krasnodar Kray", "postalCode":350035 }, "phoneNumbers":[ { "type":"home", "number":"8 999 99-99-99" }, { "type":"fax", "number":"8 888-88-88" } ] }