Što je JSON?

JSON označava JavaScript Object Notation, lagan je format za razmjenu i pohranu podataka. Format pohrane podataka uglavnom se koristi u REST API pozivima (REST zahtjev i odgovor) i u NoSQL Bazama podataka kao što je MongoDB. JavaScript objektna notacija kao format vrlo je jasna, samoopisana i intuitivna.

definicija

To je isti kao format u kojem se stvaraju JavaScript objekti, ali u JSON-u su predmeti samo tekstualni. Čitanje i generiranje JavaScript Objave nota može se obaviti korištenjem bilo kojeg programskog jezika. Možda ćemo morati slijediti sljedeća pravila sintakse -

  1. Podaci su uvijek u parovima ključ / vrijednost.
  2. Svaki je podatkovni objekt odvojen zarezom.
  3. Predmeti se drže unutar kovrčavih zagrada (cvjetni nosač poput ovog '()')
  4. Nizovi se nalaze u uglatim zagradama.

JSON objekt

Tipičan je objekt sljedeći

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

U gornjim primjerima "Ime", "Zanimanje", "Posjećena mjesta" su ključevi i "Alex", "Učitelj" i niz ("San Francisco", "California", "Houston") su vrijednosti odgovarajuće tipke i cjelokupni podaci navedeni u zagradama cvijeća predstavljaju JavaScript Object Notation Object. Vrijednosti mogu biti niz, drugi objekt, logička vrijednost, nula, broj.
Objekti se također mogu ugniježđiti i također su u obliku nizova.

Primjeri:

1. Gnijezdeni predmeti

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

Vanjski kovrčavi zagrade formiraju primarni JSON objekt koji se gnijezdi na drugi JSON objekt s tipkom 'Ime' nakon čega slijede podaci u unutarnjim zavojima. Zatim pogledajmo niz objekata.

2. Niz objekata

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

Kao što vidite, vanjski kovrčavi zagrade formiraju primarni JSON objekt podataka, a postoji kvadrat kvadratnih zagrada koji zatvara skup objekata koji su niz JSON objekata.

3. Vrste podataka

Vrijednosti moraju imati jednu od sljedećih vrsta podataka.

  • Strings:

(“name”: “Johnny”)

  • Broj:

(“age”: 21)

  • Objekt:

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

Napomena - Objekti u JSON objektima koji su ugniježđeni moraju također slijediti ista pravila sintakse kao i uobičajeni JSON objekti.

  • boolean:

(“sale”: true)

4. JSON Paring

Razmotrimo Python kao primjer programskog jezika i pogledajmo kako se rukuje s podacima podataka.

1. uvoz json
# json je modul u pythonu za obradu njegovih podataka podataka

2. string_a = "(" ime ":" Alex ", " dob ":" 22 ", " zanimanje ":" Učitelj ")"
# dopustite mi da objasnim primjer formata niza s pravilima sintakse

3. json_object = json.loads (string_a)
# sada json_object ima string_a kao JSON objekt, a ključne vrijednosti mogu se navesti kao sljedeće

ispis ("Ime je", json_object ("ime"))
ispis (json_object ("ime", "dob je", json_object ('dob')))

Dakle, u JSON raščlanjivanju pomoću pythona, JSON objekti imaju oblik rječnika i ključevi će biti upućeni u indeks kao što je spomenuto u gornjem primjeru.

Pogledajmo sada kako možemo raščlaniti JSON objekte iz datoteke na Python-u

1. uvoz json
# json je modul u pythonu za obradu njegovih objekata

2. file_handler = open ('json_data_file.json', 'r')
# open je funkcija otvaranja datoteke u pythonu i json datoteke su pohranjene s nastavkom
# .json koji se u ovom primjeru otvara u načinu čitanja 'r'

3. json_object = json.load (file_handler)
# json.load () je funkcija koja prihvaća alata za obradu datoteke json i čita njezine podatke
# predmeta iz datoteke
ispis ("Ime je", json_object ("ime"))
ispis (json_object ("ime", "dob je", json_object ('dob')))

Napomena - Možete čitati datoteku, izdvojiti sadržaj kao string i koristiti json.loads () metodu za dobivanje objekta json ili izravno koristiti metodu učitavanja za ekstrahiranje prolaska obrađivača datoteke kao parametra

Razmjena podataka podataka

Gotovo svi programski jezici omogućeni su za generiranje i rukovanje rječnicima ili heševima ili asocijativnim nizovima. Dakle, podatke koje treba razmijeniti između klijenata i poslužitelja potrebno je unijeti u jedan od ovih oblika, ovisno o programskom jeziku koji se koristi.

JSON vs XML

Tradicionalno, protokol koji se koristio za razmjenu podataka između klijenta i poslužitelja bio je SOAP (Simple Object Access Protocol) koji je koristio XML (Extensible Markup Language). Uvođenjem REST-a (Reprezentativni državni protokol) upotreba JavaScript Object Notation postala je široko poznata.

Evo nekoliko sličnosti među njima

  1. Oboje su intuitivni i lako se čitaju.
  2. Obje mogu biti ugniježđene i hijerarhijske.
  3. Oba se mogu raščlaniti koristeći najrazličitije jezike.
  4. Oboje se razmjenjuje preko web zahtjeva za prijenos podataka.

Evo nekoliko razlika među njima

  1. Nema format oznake.
  2. Spremanje je optimalno jer je relativno kraće od XML-a.
  3. Brže se čita i piše.
  4. Može koristiti niz dok u XML-u nije lako.

Nedostaci

Iako smo vidjeli prednosti, nije lišen nedostataka. Evo nedostataka:

  1. Nije potpuno siguran.
  2. Ograničen je u smislu podržanih tipova podataka.

Kako će vam znanje o JSON-u pomoći u vašoj karijeri?

To je format podataka koji se koristi za razmjenu informacija između klijenata i poslužitelja. Zamislite, ako biste mogli razviti optimiziranu shemu za predstavljanje podataka koja koristi manje podataka za razmjenu velikih podataka, onda je to sjajna stvar. Čitav svijet se kreće prema RESTful API uslugama. Zbog čega će se veliko upoznati s ovim jezikom pomoći će vam da osmislite cool API usluge.

Zaključak

To je jedan od cool formata podataka za pristup, pohranu i razumijevanje podataka. Ako tražite nešto brzo i lagano za razmjenu podataka, uvijek se možete veseliti korištenju JavaScript Object Notation.

Preporučeni članci

Ovo je vodič za Što je JSON. Ovdje smo raspravljali o radu JSON-a uz primjere i kako i gdje on može pomoći u razvoju karijere. Možete i proći naše druge predložene članke da biste saznali više -

  1. Što je JavaScript?
  2. Što je PHP niz?
  3. Što je SAS?
  4. Što je uzorak dizajna u Javi?

Kategorija: