Čo je JSON?

JSON je skratka pre JavaScript Object Notation, je ľahký formát na výmenu a ukladanie údajov. Formát ukladania údajov sa väčšinou používa pri volaniach REST API (požiadavka a odpoveď REST) ​​a v databázach NoSQL ako MongoDB. Notifikácia objektu JavaScript ako formát je veľmi priamočiara, sebapopisujúca a intuitívna.

definícia

Je to rovnaké ako formát, v ktorom sa vytvárajú objekty JavaScriptu, ale v JSON sú tieto objekty iba textovými správami. Čítanie a generovanie notácie objektu JavaScript možno vykonať pomocou ľubovoľného programovacieho jazyka. Možno budeme musieť postupovať podľa nasledujúcich pravidiel syntaxe -

  1. Údaje sú vždy v pároch kľúč / hodnota.
  2. Každý dátový objekt je oddelený čiarkou.
  3. Predmety sú držané v zložených zátvorkách (zátvorka kvetín, ako je táto „()“)
  4. Polia sa držia v hranatých zátvorkách.

Objekt JSON

Typický objekt je nasledujúci

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

Vo vyššie uvedených príkladoch sú „Meno“, „Zamestnanie“, „Navštívené miesta“ kľúče a „Alex“, „Učiteľ“ a pole („San Francisco“, „Kalifornia“, „Houston“) sú hodnoty príslušné kľúče a celé údaje uzavreté v zátvorkách kvetín tvoria objekt notácie objektu JavaScript. Hodnoty môžu byť reťazec, iný objekt, booleovské číslo, null, číslo.
Objekty môžu byť tiež vnorené a tiež môžu byť vo forme polí.

Príklady:

1. Vnorené objekty

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

Vonkajšie zložené zátvorky tvoria primárny objekt JSON vnorený do iného objektu JSON s kľúčom „Meno“, za ktorým nasledujú údaje vo vnútorných zložených zátvorkách. Ďalej sa pozrime na pole objektov.

2. Súbor objektov

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

Ako vidíte, vonkajšie zložené zložené zátvorky tvoria primárny dátový objekt JSON a existuje dvojica hranatých zátvoriek, ktorá uzatvára množinu objektov, ktorá je radom objektov JSON.

3. Údajové typy

Hodnoty musia mať jeden z nasledujúcich dátových typov.

  • Strings:

(“name”: “Johnny”)

  • číslo:

(“age”: 21)

  • objekt:

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

Poznámka - Objekty v objektoch JSON, ktoré sú vnorené, sa tiež musia riadiť rovnakými pravidlami syntaxe ako normálne objekty JSON.

  • boolean:

(“sale”: true)

4. Analýza JSON

Uvažujme Python ako príklad programovacieho jazyka a uvidíme, ako zaobchádzať s dátovými objektmi.

1. import json
# json je modul v pythone, ktorý spracováva jeho dátové objekty

2. string_a = “(„ name “:„ Alex “, „ vek “:„ 22 “, „ zamestnanie “:„ učiteľ “)“
# dovoľte mi vysvetliť príklad formátu reťazca pomocou pravidiel syntaxe

3. json_object = json.loads (string_a)
# now json_object má string_a ako objekt JSON a hodnoty kľúčov môžu byť označené nasledovne

print („Názov je“, json_object („meno“))
print (json_object („name“, „vek je“, json_object ('age')))

Takže pri analýze JSON pomocou pythonu majú objekty JSON formu slovníka a kľúče sa v indexe budú označovať, ako je uvedené vo vyššie uvedenom príklade.

Teraz sa pozrime, ako môžeme analyzovať objekty JSON zo súboru v Pythone

1. import json
# json je modul v pythone na manipuláciu s jeho objektmi

2. file_handler = open ('json_data_file.json', 'r')
# open je funkcia na otvorenie súboru v pythone a súbory json sú uložené s príponou
# .json, ktorý je v tomto príklade otvorený v režime čítania 'r'

3. json_object = json.load (file_handler)
# json.load () je funkcia, ktorá prijíma popisovač súboru súboru json a číta jeho údaje
# objektov zo súboru
print („Názov je“, json_object („meno“))
print (json_object („name“, „vek je“, json_object ('age')))

Poznámka - Súbor môžete buď prečítať, extrahovať obsah ako reťazec a použiť metódu json.loads () na získanie objektu json, alebo priamo použiť metódu načítania na extrahovanie odovzdania popisovača súboru ako parametra

Výmena dátových objektov

Takmer všetky programovacie jazyky sú schopné vytvárať a spracovávať slovníky alebo hashe alebo asociatívne polia. Dáta, ktoré je potrebné vymieňať medzi klientmi a servermi, je preto potrebné prepísať do jednej z týchto foriem v závislosti od použitého programovacieho jazyka.

JSON vs XML

Protokol používaný na výmenu údajov medzi klientom a serverom bol tradične SOAP (Simple Object Access Protocol), ktorý používal XML (Extensible Markup Language). Zavedením protokolu REST (Reprezentatívny štátny protokol) sa používanie notácie objektu JavaScript stalo všeobecne slávnou.

Medzi nimi je niekoľko podobností

  1. Obe sú intuitívne a ľahko čitateľné.
  2. Obe môžu byť vnorené aj hierarchické.
  3. Obidva sa dajú analyzovať pomocou rôznych jazykov.
  4. Obidve sa vymieňajú prostredníctvom webových požiadaviek na prenos údajov.

Tu je niekoľko rozdielov

  1. Nemá žiadny formát značky.
  2. Je to optimálne úložisko, pretože je relatívne kratšie ako XML.
  3. Čítanie a zápis je rýchlejšie.
  4. Môže používať polia, aj keď to nie je ľahké v XML.

nevýhody

Aj keď sme videli výhody, nie sú tu žiadne nevýhody. Nevýhody sú:

  1. Nie je to úplne bezpečné.
  2. Z hľadiska podporovaných typov údajov je obmedzený.

Ako vám znalosti týkajúce sa JSON pomôžu vo vašej kariére?

Je to dátový formát, ktorý sa používa na výmenu informácií medzi klientmi a servermi. Predstavte si, že ak by ste mohli vyvinúť optimalizovanú schému reprezentácie údajov, ktorá využíva menej údajov na výmenu veľkých údajov, potom je to skvelá vec. Celý svet sa posúva smerom k službám RESTful API. Preto vám veľa vecí v tomto jazyku pomôže prísť so skvelými službami API.

záver

Je to jeden z najlepších formátov údajov pre prístup, ukladanie a porozumenie dát. Ak hľadáte niečo, čo je rýchle, ľahké na výmenu údajov, môžete sa vždy tešiť na použitie notácie objektu JavaScript.

Odporúčané články

Toto bol sprievodca Čo je JSON. Tu sme diskutovali o práci spoločnosti JSON pomocou príkladov a ako a kde môže pomôcť pri kariérnom raste. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Čo je to JavaScript?
  2. Čo je to PHP Array?
  3. Čo je SAS?
  4. Čo je to dizajnový vzor v Jave?