2013-09-09 2 views
26

Есть ли такая вещь, как «стандартное» соглашение для уровня отступа JSON? Должно ли это быть 2 пробела, 3 пробела, 4 пробела, разделители вкладок или что-то еще?Что такое соглашение об уровне отступа JSON?

Я попытался найти the official JSON site, но там не указано.

+7

Нет такого соглашения. Часто JSON отправляется в минимальной форме (минимальное пространство, подобное символам). –

+2

Кто ручные json? –

+0

@ jenson-button-event too many people, К сожалению :( – Alnitak

ответ

24

JSON является серией , а не Презентация формат.

Как таковой, нет «стандартного» отступа - JSON обычно отправляется как можно компактнее.

(Тем не менее, есть возможность JSON.stringify() запросить «довольно напечатанный» JSON - посмотрите на параметр space в MDN documentation)

+0

Я вижу. что если я использую JSON в качестве формата конфигурации (например, в файле конфигурации)? Должен ли я использовать свой «собственный» стандартный отступ для этой цели или уже существует какой-либо «общий» стандарт? –

+1

нет общего стандарта, просто используйте отлично подходит для ваших требований - парсер JSON будет игнорировать лишнее свободное пространство. – Alnitak

9

Там нет стандарта. JSON specification разрешает любое количество пробелов.

Однако, если вы достаточно печатаете JSON, чтобы сделать его доступным для чтения (например, в файлах конфигурации), хорошая практика должна соответствовать правилам кодирования вашего проекта и использовать тот же уровень, что и для JS-объекта буквальный - который часто 4 (Crockford) или 2 пробела (Node.js).

+5

не конфликтовать руководящие принципы Ккотфорда _coding_, с Crockf ords_formatting guidelines_. Первые хороши, последние, ммм, кусок догмы и его личные предпочтения. – Alnitak

+5

@Alnitak: Конечно, но 4 пробела вполне стандартны для JS-кода; Я редко вижу 8 или 2 пробела или вкладку для отступов. Крокфорд был всего лишь первой ссылкой, которую я нашел ... Переход к редактированию. – Bergi

+3

Размер вкладки может быть субъективно задан, предназначен для отступов и, как таковой, использует меньше байтов, чем большинство условных обозначений пространств. –