TS TworcaStron.pl.

JSON – wszystko co musisz o nim wiedzieć

Chyba każdy słyszał i miał gdzieś styczność z JSONem. Jest to obecnie najpopularniejszy format wymiany danych, sam w sobie jest bardzo prosty.

Jesteś pewny, że wiesz o nim wszystko co wiedzieć powinieneś? Dlaczego używamy właśnie jego? Dlaczego jest taki dobry i czy jak mówi jego pełna nazwa (JavaScript Object Notation) faktycznie jest powiązany z JavaScriptem?

Postanie JSON

JSON powstał, aby ułatwić wymianę danych pomiędzy przeglądarką a serwerem. Dziś jego zastosowanie znacznie urosło. 

Za odkrywce JSONa uważa się Douglasa Crockford’a, który w 2001 na konferencji Yahoo! Developers przedstawił ów format wymiany danych. Konferencja dostępna jest na YouTube.

Jak sam wspomina, nie stworzył on JSONa, ale odkrył. Czyli było to coś co już istniało i jest to prawda, ponieważ chwilę później podaje, że Netscape używało tego formatu już w 1996.

Douglas jaka pierwszy opisał ten format, stworzył oficjalną stronę oraz zaczął go promować. 

W 2013 został uznany za niezależny standard ECMA (ECMA-404).

Czym jest JSON

  • lekki format wymiany danych
  • nazwa pochodzi od JavaScript Object Notation (zainspirowany zapisem obiektów w JavaScripcie, sam w sobie nie jest powiązany z JSem)
  • niezależny od języka
  • zawiera wyłącznie dane (nie ma funkcji, zmiennych ani niczego podobnego)
  • obecnie tak popularny, że stał się domyślnym formatem danych
  • został oficjalnie opisany w 2001 roku przez Douglasa Crockford’a  

Format

Format na pierwszy rzut oka może przypominać zwykły obiekt JavaScript.

{
 "name": "Jon",
 "age": 24,
 "isKing": false,
 "friends": ["Tormund", "Sam", "Night King"]
}

Posiada jednak 3 ważne różnice:

  • dozwolony jest jedynie podwójny cudzysłów –
  • nazwy pól także muszą być w cudzysłowie
  • za ostatnią wartością nie może być przecinka

JSON może występować jako obiekt lub tablica i zawiera kilka dostępnych typów danych:

  • obiekt
  • tablica
  • łańcuch znaków
  • liczby
  • boolean (pisany małymi literami! czyli false lub true)
  • null

Jeżeli nie jesteś pewny czy twój kod jest poprawny, skorzystaj w validatora online https://jsonlint.com/