Kaj je JSON?

JSON pomeni JavaScript Object Notation, je lahka oblika za izmenjavo in shranjevanje podatkov. Oblika shranjevanja podatkov se večinoma uporablja pri klicih REST API (zahteva in odgovor REST) ​​in v bazah NoSQL, kot je MongoDB. JavaScript Object Notation kot oblika je zelo preprost, samoopisujoč in intuitiven.

Opredelitev

Je enak formatu, v katerem so ustvarjeni predmeti JavaScript, vendar so v JSON predmeti samo besedilni. Branje in generiranje JavaScript Object Notation se lahko opravi s katerim koli programskim jezikom. Morda bomo morali upoštevati naslednja pravila sintakse -

  1. Podatki so vedno v parih ključ / vrednost.
  2. Vsak podatkovni objekt je ločen z vejico.
  3. Predmeti se nahajajo v kodrastih naramnicah (okrog roza kot je ta (())
  4. Nizi so v kvadratnih oklepajih.

Objekt JSON

Tipičen predmet je naslednji

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

V zgornjih primerih so "Ime", "Poklic", "Obiskana mesta" ključi in "Alex", "Učitelj" in matrika ("San Francisco", "California", "Houston") ustrezni ključi in celotni podatki v oklepajih za rože predstavljajo JavaScript Object Notation Object. Vrednosti so lahko niz, drug objekt, logična številka, ničelna številka.
Predmeti so lahko tudi ugnezdeni in so tudi v obliki nizov.

Primeri:

1. Gnezdeni predmeti

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

Zunanje kodraste naramnice tvorijo primarni objekt JSON, ki gnezdi na drug objekt JSON, s tipko 'Ime', ki ji sledijo podatki v notranjih oklepajih. Nato si oglejmo niz predmetov.

2. Niz predmetov

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

Kot lahko vidite, zunanje kodraste naramnice tvorijo primarni podatkovni objekt JSON in obstaja kvadratni oklepni par, ki zajema niz predmetov, ki je matrika predmetov JSON.

3. Podatkovni tipi

Vrednosti morajo imeti eno od naslednjih vrst podatkov.

  • Strune:

(“name”: “Johnny”)

  • Številka:

(“age”: 21)

  • Predmet:

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

Opomba - Predmeti v vstavljenih objektih JSON morajo tudi slediti istim pravilom skladnje kot za običajni objekt JSON.

  • Boolov:

(“sale”: true)

4. JSON Parsing

Upoštevajmo Python kot primer programski jezik in poglejmo, kako ravnati s podatkovnimi predmeti.

1. uvoz json
# json je modul v pythonu za upravljanje s svojimi podatkovnimi predmeti

2. string_a = "(" ime ":" Alex ", " starost ":" 22 ", " poklic ":" Učitelj ")"
# naj razložim primer oblike niza s pravili skladnje

3. json_object = json.loads (string_a)
# zdaj ima json_object objekt string_a kot objekt JSON, ključne vrednosti pa lahko navedemo kot naslednje

natisni ("Ime je", json_object ("ime"))
natisni (json_object ("ime", "starost je", json_object ("starost")))

Torej, pri razčlenjevanju JSON z uporabo pytona, predmeti JSON imajo obliko slovarja, ključi pa bodo navedeni v indeksu, kot je omenjeno v zgornjem primeru.

Zdaj pa poglejmo, kako lahko razčlenimo JSON-ove predmete iz datoteke v Pythonu

1. uvoz json
# json je modul v pythonu za upravljanje s svojimi predmeti

2. file_handler = odprt ('json_data_file.json', 'r')
# open je funkcija za odpiranje datoteke v pythonu in datoteke json so shranjene s pripono
# .json, ki se v tem primeru odpre v načinu branja 'r'

3. json_object = json.load (file_handler)
# json.load () je funkcija, ki sprejme orodje za obdelavo datotek datoteke json in prebere njegove podatke
# predmetov iz datoteke
natisni ("Ime je", json_object ("ime"))
natisni (json_object ("ime", "starost je", json_object ("starost")))

Opomba: Datoteko lahko preberete, izvlečete vsebino v obliki niza in uporabite metodo json.loads (), da dobite predmet json, ali pa neposredno uporabite način nalaganja za ekstrahiranje orodja za upravljanje datotek kot parametra

Izmenjava podatkovnih predmetov

Skoraj vsi programski jeziki so namenjeni ustvarjanju in obdelavi slovarjev ali hešev ali asociativnih nizov. Podatke, ki jih je treba izmenjati med odjemalci in strežniki, je treba vnesti v enega od teh obrazcev, odvisno od uporabljenega programskega jezika.

JSON vs XML

Tradicionalno je bil protokol za izmenjavo podatkov med odjemalcem in strežnikom SOAP (Simple Object Access Protocol), ki je uporabljal XML (Extensible Markup Language). Z uvedbo REST (Reprezentativni državni protokol) je uporaba JavaScript Object Notation postala znana.

Tu je nekaj podobnosti med njimi

  1. Oboje je intuitivno in enostavno za branje.
  2. Obe sta lahko gnezdeni in hierarhični.
  3. Oba je mogoče razčleniti z najrazličnejšimi jeziki.
  4. Obe se izmenjujeta prek spletnih zahtev za prenos podatkov.

Tu je nekaj razlik med njimi

  1. Nima oznake oblike.
  2. Shranjevanje je optimalno, saj je razmeroma krajše od XML-ja.
  3. Hitreje je branje in pisanje.
  4. Lahko uporablja matrike, medtem ko v XML ni enostavno.

Slabosti

Čeprav smo videli prednosti, ni pomanjkljiv tudi. Sledijo slabosti:

  1. Ni popolnoma varen.
  2. Glede na podprte vrste podatkov je omejen.

Kako vam bo znanje o JSON pomagalo pri vaši karieri?

To je oblika podatkov, ki se uporablja za izmenjavo informacij med strankami in strežniki. Predstavljajte si, če bi lahko razvili optimizirano shemo za zastopanje podatkov, ki za izmenjavo velikih podatkov uporablja manj podatkov, potem je to odlična stvar. Ves svet se pomika proti storitvam API RESTful. Zaradi tega, če se veliko ukvarjate s tem jezikom, vam bo pomagal pri pripravi odličnih storitev API-ja.

Zaključek

Je eden izmed kul formatov podatkov za dostop, shranjevanje in razumevanje podatkov. Če iščete nekaj hitrega in lahkega za izmenjavo podatkov, se lahko vedno veselite uporabe JavaScript Object Notation.

Priporočeni članki

To je vodnik za Kaj je JSON. Tu smo razpravljali o delovanju JSON-a s pomočjo primerov in kako in kje lahko pomaga pri karierni rasti. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -

  1. Kaj je JavaScript?
  2. Kaj je PHP Array?
  3. Kaj je SAS?
  4. Kaj je oblikovalski vzorec na Javi?