Format JSON: descriere, exemplu
Variabilele, matricele și obiectele reprezintă o formă familiară și convenabilă de reprezentare a datelor. Datele sunt descrise în limba browserului jаvascript, ceea ce nu este necesar în limba serverului PHP. Formatul JSON face posibilă generalizarea acestora într-una și nu concentrarea asupra limbajului de programare. În acest caz, datele se transformă în perechi: "name = value". Valoarea în fiecare dintre ele poate fi, de asemenea, o colecție de astfel de perechi.
conținut
JSON este asociat cu paranteze curbate și Obiecte jаvascript. Acesta din urmă este pe deplin justificat, deoarece JSON = Object Notation format jаvascript. În ultimii ani deosebit de dinamici s-au schimbat multe lucruri. Ceea ce a fost creat pentru un anumit scop, adesea a adus fructe neașteptate sau a deschis noi orizonturi.
Schimb de date: browser - server
Tehnologia AJAX a devenit o reîmprospătare normală, normală a paginii în întregime a încetat să mai fie popular. Un vizitator, atunci când deschide un site, inițiază o serie de schimburi parțiale de date, când anumite pagini se modifică numai în locul relevant.
Se crede că apariția JSON se datorează utilizării AJAX, dar, de fapt, asociativă matrice de jаvascript și notația obiectului (caracteristicile sintaxei de descriere și folosire a obiectelor) sunt mult mai legate de JSON decât schimbul de date între browser și server.
Deoarece conținutul paginilor site-urilor moderne a devenit într-adevăr "masiv" (voluminoasă), eficiența formatului pentru schimbul de date a dobândit o semnificație deosebită. Nu se poate spune că JSON a devenit o nouă reprezentare a datelor, dar faptul că a fost mult timp un element al sintaxei jаvascript este semnificativă.
Folosirea chirilicului în denumirea variabilă este un fenomen foarte neașteptat (nonsens), dar funcționează în cele mai recente versiuni de Chrome, Firefox și chiar în Internet Explorer 11.
Chirilic și JSON
Bineînțeles, nu merită să folosim acest fenomen complet neașteptat, amintindu-ne cât de ușor se transformă valorile variabilelor scrise în litere rusești în krakozyabry: ce este de spus despre nume, în special cele externe.
Este îndoielnic că inițiativa cu nume chirilic va fi susținută de mediul extern al browserului, cu care trebuie să se ocupe în mod constant. Dar acest fapt merită atenție din simplul motiv că formatul JSON este abilitatea de a scrie nume și valori așa cum vrea un dezvoltator. Acest lucru este important, deoarece în fiecare sarcină descrierea zonei de aplicație, așa cum o cere, simplifică foarte mult depanarea și reduce numărul de erori.
Nu contează exact ce inovație sintactică - JSON - a avut sub ea, este important să dea un drept legal și o șansă reală de a face un meci: "orice nume = orice valoare".
Trebuie să plătim un omagiu limbii jаvascript: ceea ce este furnizat de sintaxă, nu obligă dezvoltatorul și nu-i impune nimic. Dezvoltatorul folosește în mod liber sintaxa limbajului pentru formarea optimă a modelului de date și a algoritmului de utilizare a acestuia.
PHP și JSON
Luând datele în format JSON, serverul (prin intermediul PHP în special) oferă posibilitatea de a le procesa așa cum este și de a returna rezultatul înapoi la browser într-un format similar. Array sursă PHP:
- $ cJSON = array ("a" => "alfa", "b" => "beta", "g" => "gamma").
Conversia la JSON pentru transferul la browser:
- $ cJS = json_encode ($ cJSON).
rezultat:
- {"a": "alfa", "b": "beta", "g": "gamma"}.
Este permisă încadrarea afișată în fotografie.
Aici, matricea a fost adăugată de un element nou "în sine" cu indexul automat "0" și apoi din nou cu indexul specificat "z".
Funcția inversă json_decode () convertește șirul JSON într-o matrice PHP. Rezultate similare pot fi obținute prin manipularea funcțiilor PHP: implode () și explode (). În unele cazuri, această opțiune este preferabilă.
Nivelul de cuibărit
Elementele pot fi imbricate între ele atât pe partea de browser, cât și pe partea de server. În practică, formatul JSON (descrierea RFC 4627) oferă în mod semnificativ mai mult de 4 nivele de cuibărit, dar nu trebuie să abuzați de această caracteristică.
Este mai bine să nu depășiți niciodată suficiența rezonabilă, acest lucru face codul ușor de citit, simplifică depanarea și înțelegerea acestuia de către alți dezvoltatori.
JSON este de obicei referit la structuri de date, care sunt mai simple decât XML, sunt înțelese simultan de oameni și computere. Acest lucru este valabil atunci când cantitatea de date este mică, iar nivelul de cuibărit al dezvoltatorului a ales competent. În toate celelalte cazuri, numărarea numărului de paranteze și înțelegerea structurii datelor este dificilă atât din partea browserului, cât și din partea serverului.
Fișiere JSON
Utilizarea JSON în practică nu este adesea limitată la o percepție accesibilă a unui șir scurt. Toate construcțiile de date sunt întotdeauna pragmatice. În acest caz, JSON poate fi aplicat în mod eficient atât în datele reale ale sarcinilor (personalul întreprinderii), cât și în implementarea datelor temporare (memoria cache a obiectelor).
Personalul întreprinderilor și formatul JSON: exemplu
De obicei, o înregistrare despre o persoană este numele, numele, patronimul, anul nașterii, specialitatea, educația ... și câteva semnificații simple. Chiar și în cazul unor companii deosebit de solicitante, înregistrarea unei persoane nu va depăși o duzină sau două domenii. Acest lucru este accesibil percepției și poate fi plasat într-o linie de baze de date.
Dacă există mai multe persoane în companie, acesta este un lucru, dar dacă zeci de mii sunt complet diferite. Puteți continua să utilizați baza de date, dar stocarea acesteia ca fișier pare mai practică și mai accesibilă pentru utilizare.
Formatul de fișier JSON este un fișier text simplu. Cazul cu lista de personal, oriunde mergea. Puteți citi întotdeauna. Deschiderea și editarea sunt disponibile și în orice editor de text care nu are obiceiul de a adăuga informațiile de serviciu la conținutul fișierului. În general, * .json este text pur atât în interiorul browser-ului, cât și în interiorul fișierului - un șir.
Fotografia afișează memoria cache a obiectului care formează imaginea, un exemplu.
Acesta este un exemplu al conținutului unui fișier generat de un site care oferă un serviciu de tipărire volumetrică color pe cani și produse ceramice. Firește, este foarte dificil să decideți dacă aveți un format JSON decât să îl deschideți. Cu toate acestea, în acest caz și în cazuri similare nu există probleme cu citirea fișierului: PHP citește fișierul, îl analizează și îl trimite la browser. Modificată de datele vizitatorului este returnată serverului și înregistrată înapoi.
În acest caz, fișierul acționează ca o variabilă care este stocată în afara codului. Dacă este necesar, variabila primește o valoare din fișier, iar dacă este modificată de vizitator în dialogul furnizat de site, atunci toate modificările vor fi înregistrate ca atare. Nu este nevoie să citiți și să verificați conținutul fișierului.
JSON este adesea folosit pentru a stoca și utiliza informația despre serviciu - aceasta nu este o tabelă de personal, nu este necesar să o vadă nici de dezvoltator, nici de vizitatorul site-ului.
XML și JSON
"Totul are timpul" - cunoașterea clasică acceptată pentru axiom chiar înainte de apariția programării. "Nimic nu pare doar așa", a fost și înainte ca un om să scrie primul program inteligibil într-un limbaj artificial.
Formatele de date apar din nevoia reală și se bazează pe cunoștințele acumulate. HTML are o cale proprie, XML are propriul drum, iar JSON este logica obiectului jаvascript extinsă în alte limbi. Compararea unuia cu altul nu este cel mai bun lucru. Pentru fiecare dintre ei.
XML în mod miraculos de a face față sarcinilor sale și de a merge în istorie este în mod clar nu va. Iar JSON a fost folosit înainte de 2006, tocmai nu toți dezvoltatorii i-au considerat datoria de a declara anumite variante de prezentare a datelor sale.
Au existat cazuri în care programele de bază au fost scrise în BASIC care nu utilizează JSON ca atare, dar stochează perfect perechea "name = value" și le dau algoritmilor necesari la momentul potrivit.
Caractere speciale ("` "," ~ "," | ", ...) și formate de date
Obiceiul de a lucra cu matrice asociative și obiecte jаvascript face utilizarea JSON naturală și convenabilă. Acesta este într-adevăr un format excelent, dar abilitatea de a împărți și de a îmbina, de a manipula șiruri de caractere și matrice, are rădăcini mult mai profunde.
Funcțiile de îmbinare / împărțire a limbajului jаvascript și implode / explode ale limbajului PHP fac ca acesta să fie convenabil și eficient să utilizeze atât formatele de date XML, JSON, cât și versiunea proprie. Acesta din urmă este adesea optim, iar primele două sunt ideale pentru uz general. Dacă există un transfer de informații către un alt dezvoltator, server, fișier sau bază de date, XML și JSON nu sunt mai bune. Cu ei toți muncesc, deoarece transmiterea / primirea de informații nu are nevoie de comentarii.
Folosind JSON pe Android
Citirea și scrierea datelor în format JSON în Android nu este doar norma lucrurilor, ci și o mulțime de obiecte orientate spre lucrul cu acest format de date.
Mulți asociază succesul fenomenal al rețelelor sociale cu faptul că membrii și vizitatorii site-urilor relevante (Facebook, LinkedIn, Twitter, ...) beneficiază de materialele publicate acolo.
În acest caz, se utilizează formatul JSON. Poate că acest lucru este adevărat, dar întrebarea nu este natura fenomenală a rețelelor sociale, ci faptul că prezentarea informațiilor în formatul "nume = valoare" este convenabilă atât pentru programare, cât și pentru utilizare. Spre deosebire de "XML" strictă și complexă, acesta este într-adevăr un format prietenos cu oamenii.
Mese asociative
Sa întâmplat astfel ca variabilele să fie descrise (jаvascript) sau cel puțin să indice valoarea inițială (PHP). În ambele cazuri, variabila își poate schimba foarte ușor tipul. Dacă este necesar, limba efectuează automat această conversie.
Dar de ce variabila nu trebuie sa-si schimbe si numele, sa nu apara in timpul executiei algoritmului si sa nu dispara, atunci cand nevoia de a disparea? Manecile asociative permit rezolvarea acestei probleme, dar apoi folosind astfel de variabile relativ dinamice, numele matricei și construcțiile sintactice corespunzătoare vor urma în locurile de aplicare a acestora.
Această circumstanță este deosebit de pronunțată în PHP, dar acest lucru poate fi tolerat, de asemenea, cu simbolul "$" în numele variabilei și combinația "$ this->" în interiorul obiectului. Programând în același timp în jаvascript și PHP, la început este uimitor cum totul este diferit, dar apoi totul devine atât de familiar și natural ...
Matricea asociativă -> JSON
În acest exemplu, prin biblioteca PHPOffice / PHPWord creează un document * .docx, și o serie de documente aProperties conține proprietățile (autor, firma, din titlu, categorie, data, ...).
A doua matrice conține date pe pagină:
- Orientare (peisaj sau obișnuit);
- dimensiunile pe verticală și orizontală;
- Indents (câmpurile din partea stângă, de sus, de jos, pe dreapta);
- anteturile și subsolurile.
Documentul este creat pe serverul în care este instalată biblioteca PHPOffice / PHPWord. Site-ul oferă gestionarea valorilor acestor matrice prin jаvascript. Rezultatul în format JSON este returnat înapoi la server și folosit în algoritmi PHP, în construcțiile sale, adică în matrice.
Variabile dinamice
Formatul JSON rezolvă problema variabilelor dinamice. Aici puteți crea, modifica și șterge variabile fără stive de sintaxă inutile. Arată frumos și este folosit în jаvascript.
În acest exemplu, funcția GetOjInfo () selectează numele și valoarea de valoare din obiect. Inițial, obiectul șir JSON atribuit variabilei ojInfo are trei elemente: numele, vârsta și locul de muncă. Puțin mai târziu, se adaugă variabila de stare.
După primul operator șterge șir ojInfo pierde vârsta elementului, după a doua șterge - element de munca. Dacă presupunem că șirul are o selecție de variabile care au un anumit înțeles, prin JSON poate crea de fapt, modifica sau șterge oricare dintre seturile lor în afara câmpului chirurgical (sintaxa) și procesarea descrierea limbajului jаvascript.
Formatul JSON pentru această opțiune nu a fost calculat, dar este posibil, practic și convenabil.
- Ce este jаvascript? Istoria aspectului și principalele caracteristici
- Ajax - ce este asta? Asynchronous jаvascript și XML: avantaje și dezavantaje
- jаvascript: typeof - nevoie sau noi caracteristici
- jаvascript: exemple de aplicații
- jаvascript Array pentru a stoca un număr nelimitat de variabile
- Matematică din jаvascript Math
- Stack-ul / pop-ul jаvascript Stack
- Funcția de gestionare a timpului jаvascript setInterval ()
- Folosind indexOf (jаvascript) atunci când lucrați cu matrice și șiruri de caractere
- Operațiuni eficiente la nivel de linie utilizând metoda split jаvascript
- jаvascript expresiv: descrierea caracteristicilor
- Utilizarea elementelor DOM prin jаvascript getElementById
- Folosind funcția jаvascript setTimeout ()
- Obiect jаvascript: crearea de obiecte și de lucru
- Cum se activează jаvascript în Google Chrome și în alte browsere
- Utilizarea alertei jаvascript ()
- Manipularea de caractere: Substringul metodei jаvascript ()
- Utilizarea metodei jаvascript replace ()
- Sintaxă jаvascript parseInt: exemple de utilizare
- Exemple de utilizare a metodei lungimii jаvascript
- Semnificația și utilizarea vocii jаvascript