Czy powiedzenie „Obiekt JSON” jest zbędne?

15

Jeśli JSON oznacza JavaScript Object Notation, to kiedy mówisz obiekt JSON, czy tak naprawdę nie mówisz „JavaScript Object Notation Object”?

Czy powiedzenie „ciąg JSON” byłoby bardziej poprawne?

A może po prostu powiedz JSON? (jak w „Te dwie usługi przekazują między sobą JSON”).

CamelBlues
źródło
Dokładniej byłoby powiedzieć, że przekazują między sobą obiekty zakodowane w JSON.
Josh K
9
Każdy, kto to powie, powinien zostać zgłoszony do Departamentu Redundancji.
Mason Wheeler
@MasonWheeler: co najmniej dwa razy!
Joachim Sauer
1
@MasonWheeler: +1: Czy słyszałeś kiedyś zdania typu „... protokół TCP / IP ...”?
Emilio Garavaglia,
Używamy „numerów PIN” w Wielkiej Brytanii od lat, wydaje się, że nikomu to nie przeszkadza :-)
Matt.

Odpowiedzi:

30

JSON to notacja dla obiektu. Nie sam przedmiot.

„Obiekt JSON” to ciąg znaków w notacji JSON. To nie jest zbędne.

Powiedzenie „Ciąg JSON” byłoby bardziej wyraźne niż „Obiekt JSON”. Ale mieliby na myśli to samo.

„Obiekt JSON” może być skrótem od „Obiekt szeregowany w JSON”. To dość powszechne wymawianie mylących słów.

S.Lott
źródło
4

Nie.

Zastanówmy się nad przykładem z prawdziwego świata - „angielski” prawdopodobnie byłby dobrym analogiem dla „JSON”, ponieważ obaj nazywają używany zapis. Myślę jednak, że powiedzenie „Mówili po angielsku” dodaje precyzji do „Mówili po angielsku”.

Nie wyzywałbym nikogo za to, że go pominął, ale nie sądzę, żeby to było zbędne.

JohnMcG
źródło
2

Obiekt JavaScript Object Notation właśnie taki jest. Musisz określić, jakiego typu jest obiekt. Jeśli powiedziałeś „mój skrypt zwraca notację obiektową JavaScript”, to nie ma to sensu.

JSON nie oznacza samego obiektu, jedynie przekazuje, z jakim typem obiektu masz do czynienia, na przykład obiekt XML lub obiekt serializowany itp.

Wszystko to są struny, ale organizujemy je w naszych umysłach jako obiekty.

Gary Willoughby
źródło
1

Może to być trochę bardziej angielska idiosynkrazja, ale zasada, o której zawsze słyszałem, to coś w rodzaju długiego zdania: „Wyraz powinien mieć sens, jeśli przeliterujesz akronim”. Dlatego głosowałbym za tym, aby użycie wyrażenia „JSON” miało sens jako następujące:

Serwer zwraca JSON.

Nadal ma sens, gdy jest napisane

Serwer zwraca notację obiektową JavaScript.

Sztuczka najprawdopodobniej będzie bardziej w gramatyce zdania niż wtedy, gdy „obiekt” jest włączony, czy nie.

rjzii
źródło
1
+1: Dobra uwaga. Sam JSON jest niekompletny, ponieważ nie jest rzeczownikiem. To jest przymiotnik.
S.Lott,
aby to odwrócić - pomyśl, jak dziwnie byłoby powiedzieć „Serwer zwraca JSON”
sunwukung
1

Technicznie tak, JSON Object oznacza „JavaScript Object Notation Object”. Ma jednak określone znaczenie - w rzeczywistości, w zależności od kontekstu, może oznaczać albo „ciąg znaków reprezentujący zserializowany obiekt JavaScript”, albo „obiekt JavaScript, który można wysłać lub odebrać jako ciąg JSON przy użyciu protokołu komunikacyjnego”.

W pierwszym przypadku w rzeczywistości oznacza to „zserializowany obiekt JavaScript”. W drugim przypadku JSON jest używany jako kwalifikator, ponieważ nie każdy obiekt może być reprezentowany w notacji JSON - jednym z przykładów są obiekty zawierające wartości funkcji.

Więc „na papierze” wygląda na zbędne, ale jeśli weźmiesz pod uwagę faktyczne znaczenie, to nie jest.

artem
źródło
1

Chciałbym również zauważyć, że chociaż nie jest to przypadek nadmiarowości, nadmiarowe praktyki z akronimami są wykonywane przez cały czas, szczególnie w odniesieniu do terminów technicznych (np. Bankomat, protokół TCP / IP, protokół UDP, protokół SMTP itp. .).

Dzięki nadmiarowości i przekształceniu istoty akronimu łatwiej jest przekazać to, czego dotyczy akronim.

ryuusenshi
źródło