Co je JSON?

JSON je zkratka pro JavaScript Object Notation, je lehký formát pro výměnu a ukládání dat. Formát datového úložiště se většinou používá při voláních REST API (požadavek a odpověď REST) ​​a v databázích NoSQL, jako je MongoDB. JavaScript Object Notation jako formát je velmi přímočarý, sebepopisující a intuitivní.

Definice

Je to stejné jako formát, ve kterém jsou vytvořeny objekty JavaScriptu, ale v JSON jsou objekty spíše textovými zprávami. Čtení a generování notace objektu JavaScript lze provést pomocí libovolného programovacího jazyka. Možná budeme muset dodržovat následující pravidla syntaxe -

  1. Data jsou vždy ve dvojicích klíč / hodnota.
  2. Každý datový objekt je oddělen čárkou.
  3. Objekty jsou drženy uvnitř složených závorek (závorka květin, jako je tato '()')
  4. Pole jsou držena v hranatých závorkách.

Objekt JSON

Typický objekt je následující

(
“Name”: “Alex”,
“Occupation”: “Teacher”,
“Places visited”: (“San Francisco”, “California”, “Houston”) )

Ve výše uvedených příkladech jsou „Jméno“, „Povolání“, „Navštívená místa“ klíče a „Alex“, „Učitel“ a pole („San Francisco“, „Kalifornie“, „Houston“) jsou hodnoty příslušné klíče a celá data uzavřená v hranatých závorkách představují objekt Object Notation Object. Hodnoty mohou být řetězec, jiný objekt, booleovský, null, číslo.
Objekty mohou být také vnořeny a také mohou být ve formě polí.

Příklady:

1. Vnořené objekty

(
“Role”: “Student”,
“Name”: (
“First name”: “Alex”,
“Last name”: “Hill”
)
)

Vnější složené složené závorky tvoří primární objekt JSON vnořený do jiného objektu JSON s klíčem „Jméno“, za kterým následují data ve vnitřních složených složených závorkách. Dále se podívejme na řadu objektů.

2. Pole objektů

(
“Grade”: 6,
“Student names”: (
(
“First name”: “Alex”,
“Last name”: “Hill”
),
(
“First name”: “Neal”,
“Last name”: “Hunter”
),
(
“First name”: “Peter”,
“Last name”: “Jones”
)
) )

Jak vidíte, vnější složené složené závorky tvoří primární datový objekt JSON a existuje dvojice hranatých závorek, která uzavírá sadu objektů, což je pole objektů JSON.

3. Datové typy

Hodnoty musí mít jeden z následujících datových typů.

  • Řetězce:

(“name”: “Johnny”)

  • Číslo:

(“age”: 21)

  • Objekt:

(
employee”: (“name”: “John”, “age”: 221)
)

Poznámka - Objekty v objektech JSON, které jsou vnořeny, se také musí řídit stejnými pravidly syntaxe jako normální objekty JSON.

  • Boolean:

(“sale”: true)

4. JSON Parsing

Uvažujme Python jako příklad programovacího jazyka a uvidíme, jak zacházet s datovými objekty.

1. import json
# json je modul v pythonu pro zpracování datových objektů

2. string_a = “(„ jméno “:„ Alex “, „ věk “:„ 22 “, „ povolání “:„ učitel “)“
# Dovolte mi vysvětlit příklad formátu řetězce pomocí pravidel syntaxe

3. json_object = json.loads (string_a)
# nyní json_object má řetězec_a jako objekt JSON a hodnoty klíčů lze označit jako následující

print („Jméno je“, json_object („name“))
print (json_object („name“, „je věk“, json_object ('age')))

Takže při analýze JSON pomocí pythonu mají objekty JSON podobu slovníku a klíče budou v indexu označeny, jak je uvedeno ve výše uvedeném příkladu.

Nyní se podívejme, jak můžeme analyzovat objekty JSON ze souboru v Pythonu

1. import json
# json je modul v pythonu pro práci s jeho objekty

2. file_handler = open ('json_data_file.json', 'r')
# open je funkce pro otevření souboru v pythonu a soubory json jsou uloženy s příponou
# .json který je v tomto příkladu otevřen v režimu čtení 'r'

3. json_object = json.load (file_handler)
# json.load () je funkce, která přijímá popisovač souboru souboru json a čte jeho data
# objekty ze souboru
print („Jméno je“, json_object („name“))
print (json_object („name“, „je věk“, json_object ('age')))

Poznámka - Soubor můžete buď načíst, extrahovat obsah jako řetězec a použít metodu json.loads () k získání objektu json, nebo přímo použít metodu load k extrahování předávání popisovače souboru jako parametru

Výměna datových objektů

Téměř všechny programovací jazyky jsou schopny generovat a zpracovávat slovníky nebo hashe nebo asociativní pole. Data, která je třeba vyměňovat mezi klienty a servery, je tedy třeba v závislosti na použitém programovacím jazyce přepsat do jedné z těchto forem.

JSON vs XML

Protokol používaný k výměně dat mezi klientem a serverem byl tradičně SOAP (Simple Object Access Protocol), který používal XML (Extensible Markup Language). Se zavedením protokolu REST (Reprezentativní státní protokol) se používání JavaScript Object Notation stalo všeobecně známým.

Zde je několik podobností mezi nimi

  1. Oba jsou intuitivní a snadno čitelné.
  2. Oba mohou být vnořené i hierarchické.
  3. Oba lze analyzovat pomocí široké škály jazyků.
  4. Oba jsou vyměňovány prostřednictvím webových požadavků na přenos dat.

Zde je několik rozdílů mezi nimi

  1. Nemá žádný formát značky.
  2. Je to optimální úložiště, protože je relativně kratší než XML.
  3. Čtení a psaní je rychlejší.
  4. Je možné použít pole, zatímco to není snadné v XML.

Nevýhody

I když jsme viděli výhody, není to ani nevýhody. Nevýhody jsou následující:

  1. Není zcela bezpečný.
  2. Je omezen z hlediska podporovaných datových typů.

Jak vám znalosti ohledně JSON pomohou ve vaší kariéře?

Je to datový formát, který se používá k výměně informací mezi klienty a servery. Představte si, že pokud byste mohli vyvinout optimalizované schéma pro reprezentaci dat, které používá méně dat k výměně velkých dat, pak je to skvělá věc. Celý svět směřuje k RESTful API službám. To je důvod, proč se s tímto jazykem hodně vypořádat, vám pomůže přijít se skvělými službami API.

Závěr

Je to jeden z nejlepších datových formátů pro přístup, ukládání a porozumění datům. Pokud hledáte něco, co je rychlé, lehké pro výměnu dat, můžete se vždy těšit na použití notace objektu JavaScript.

Doporučené články

Toto byl průvodce Co je JSON. Zde jsme diskutovali práci JSON pomocí příkladů a jak a kde to může pomoci v kariérním růstu. Další informace naleznete také v dalších navrhovaných článcích -

  1. Co je to JavaScript?
  2. Co je PHP Array?
  3. Co je SAS?
  4. Co je Design Pattern v Javě?