Говорит ли «JSON Object» излишним?

15

Если JSON обозначает нотацию объекта JavaScript, то когда вы говорите «объект JSON», не говорите ли вы «объект нотации объекта JavaScript»?

Было бы правильнее сказать «строка JSON»?

Или было бы правильнее просто сказать JSON? (как в «Эти два сервиса передают JSON между собой».)

CamelBlues
источник
Было бы точнее сказать, что они передают закодированные в JSON объекты между ними.
Джош К
9
Любой, кто говорит это, должен быть сообщен в Департамент резервирования.
Мейсон Уилер
@MasonWheeler: хотя бы дважды!
Иоахим Зауэр
1
@MasonWheeler: +1: Вы когда-нибудь слышали предложения типа «... протокол TCP / IP ...»?
Эмилио Гаравалья
Мы использовали «ПИН-коды» в Великобритании в течение многих лет, и это никого не беспокоит :-)
Мэтт

Ответы:

30

JSON это обозначение для объекта. Не сам объект.

«Объект JSON» - это строка в нотации JSON. Это не избыточно.

Сказать «JSON String» было бы более понятно, чем «JSON Object». Но они означают одно и то же.

«JSON Object» может быть сокращением для «JSON-сериализованного объекта». Это достаточно распространенное заблуждение из слов.

С. Лотт
источник
4

Нет.

Давайте подумаем о реальном примере: «Английский», вероятно, будет хорошим аналогом для «JSON» в том смысле, что они оба называют используемую нотацию. Тем не менее, я думаю, высказывание «Они говорили по-английски» добавляет точность из «Они говорили по-английски».

Я бы не стал никого обвинять в том, что он не учтен, но я не думаю, что это излишне включать.

JohnMcG
источник
2

JavaScript Object Notation Object - это просто так. Вам необходимо определить, к какому типу относится объект. Если вы только что сказали «мой скрипт возвращает нотацию объектов JavaScript», то это не имеет смысла.

JSON не означает объект сам по себе, он просто указывает, с каким типом объекта вы имеете дело, например, объект XML или сериализованный объект и т. Д.

Все это строки, но мы организуем их в наших умах как объекты.

Гари Уиллоуби
источник
1

Это может быть немного больше английской идиосинкразии, но эмпирическое правило, которое я всегда слышал, это что-то из длинных строк «Предложение должно иметь смысл, если вы произносите аббревиатуру». Таким образом, я бы проголосовал за то, чтобы использование фразы «JSON» имело смысл как следующее:

Сервер возвращает JSON.

По-прежнему имеет смысл, когда это прописано

Сервер возвращает JavaScript Object Notation.

Уловка, вероятно, будет больше в грамматике предложения, чем если «объект» включен или нет.

rjzii
источник
1
+1: хороший момент. JSON сам по себе неполный, потому что это не существительное. Это прилагательная фраза.
С.Лотт
чтобы перевернуть это - подумайте о том, как странно было бы сказать «Сервер возвращает JSON»
sunwukung
1

Технически да, JSON Object означает «Объект нотации JavaScript». Но он имеет конкретное значение - фактически, в зависимости от контекста, он может означать либо «строку, представляющую сериализованный объект JavaScript», либо «объект JavaScript, который можно отправить или получить в виде строки JSON с использованием некоторого протокола связи».

В первом случае это фактически означает «сериализованный объект JavaScript». Во втором случае JSON используется в качестве квалификатора, поскольку не каждый объект может быть представлен в нотации JSON - одним примером являются объекты, которые содержат значения функций.

Так что «на бумаге» это выглядит излишним, но если учесть реальное значение, это не так.

артем
источник
1

Я также хотел бы отметить, что, хотя здесь речь идет не об избыточности, избыточные методы с аббревиатурами выполняются постоянно, особенно с техническими терминами (например, банкомат, протокол TCP / IP, протокол UDP, протокол SMTP и т. Д. .).

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

ryuusenshi
источник