Crearea unui fișier json. Deschiderea fișierelor JSON. Crearea unui șir JSON dintr-o variabilă PHP

Persoanele familiarizate cu programarea vor recunoaște imediat fișierele cu extensia JSON. Acest format este o abreviere a JavaScript Object Notation și este în esență un schimb de date bazat pe text folosit în limbajul de programare JavaScript. În consecință, fie software-ul specializat, fie editorii de text vă vor ajuta să faceți față deschiderii unor astfel de fișiere.

Principala caracteristică a scripturilor în format JSON este interschimbabilitatea sa cu formatul XML. Ambele tipuri sunt documente text care pot fi deschise de procesoare de text. Cu toate acestea, vom începe cu software specializat.

Metoda 1: Altova XMLSpy

Un mediu de dezvoltare destul de cunoscut, care este folosit și de programatorii web. Acest mediu generează și fișiere JSON și, prin urmare, este capabil să deschidă documente terță parte cu această extensie.


Acest software are două dezavantaje. Prima este o bază de distribuție plătită. Versiunea de încercare este activă timp de 30 de zile, dar pentru a o primi trebuie să furnizați un nume și o adresă de e-mail. A doua este greoaie generală: pentru o persoană care trebuie doar să deschidă un fișier, poate părea prea fantezist.

Metoda 2: Notepad++

Editorul de text multifuncțional Notepad++ este primul din lista de scripturi potrivite pentru deschiderea formatului JSON.


Notepad++ are o mulțime de avantaje - afișează sintaxa multor limbaje de programare, acceptă pluginuri și are dimensiuni reduse... Cu toate acestea, datorită unor caracteristici, programul funcționează lent, mai ales dacă deschideți un document mare în el.

Metoda 3: AkelPad

Un editor de text incredibil de simplu și, în același timp, bogat în capabilități de la un dezvoltator rus. Formatele pe care le acceptă includ JSON.


La fel ca Notepad++, această opțiune de notepad este, de asemenea, gratuită și acceptă pluginuri. Funcționează mai rapid, dar este posibil ca fișierele mari și complexe să nu se deschidă prima dată, așa că țineți cont de această funcție.

Metoda 4: Komodo Edit

Software gratuit pentru scrierea codului programului de la Komodo. Dispune de o interfață modernă și suport larg pentru programatori.


Din păcate, programul nu are limba rusă. Cu toate acestea, utilizatorul obișnuit va fi mai descurajat de funcționalitatea excesivă și elementele de interfață de neînțeles - la urma urmei, acest editor se adresează în primul rând programatorilor.

Metoda 5: Text sublim

Un alt reprezentant al editorilor de text orientați spre cod. Interfața este mai simplă decât cea a colegilor săi, dar capabilitățile sunt aceleași. Este disponibilă și o versiune portabilă a aplicației.


Din păcate, Sublime Text nu este disponibil în limba rusă. Modelul de distribuție shareware poate fi numit și un dezavantaj: versiunea gratuită nu este limitată în niciun fel, dar din când în când apare un memento despre necesitatea achiziționării unei licențe.

Metoda 6: NFOPad

Un bloc de note simplu este, de asemenea, potrivit pentru vizualizarea documentelor cu extensia JSON.

J SON.simple este o bibliotecă Java simplă pentru lucrul cu date în format JSON, pe deplin compatibilă cu specificația RFC4627 - The application/json Media Type for JavaScript Object Notation (JSON) .

Adăugarea JSON.simple la proiect

Pentru a adăuga o bibliotecă la proiectul dvs., o puteți descărca de pe site-ul oficial al proiectului .

Dacă utilizați Maven, înainte de a vă conecta JSON.simple trebuie să definiți o dependență:

com.googlecode.json-simple json-simple 1.1.1

Scrierea datelor JSON într-un fișier

Un exemplu de generare de date JSON folosind obiecte de tip JSONObject și JSONArray, urmată de scrierea șirului JSON rezultat în fișierul file.json .

Pachetul ru.j4web.examples.java.json.jsonsimpleexample; import java.io.FileWriter; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; import org.json.simple.JSONArray; import org.json.simple..json"; public static void main(String args) ( obiect JSONObject = nou JSONObject(); object.put("nume", "j4web"); obiect..put("vârstă", 2); mesaje JSONArray = JSONArray nou(); messages.add(„Mesajul 1”); messages.add(„Mesajul 2”); messages.add(„Mesajul 3”); object.put(„mesajele”, mesaje ); încercați (FileWriter writer = new FileWriter(FILENAME))( writer.write(object.toJSONString()); writer.flush(); writer.close(); ) catch (de ex. IOException) ( Logger.getLogger(JsonSimpleExample. class.getName()) .log(Level.SEVERE, null, ex); ) ) ) ("site":"https://site","age":2,"name":"j4web","mesaje ":["Mesajul 1","Mesajul 2","Mesajul 3"])

Citirea datelor JSON dintr-un fișier

Un exemplu de utilizare a unui obiect JSONParser pentru a citi date în format JSON. Vom folosi fișierul file.json generat în exemplul anterior ca sursă de date.

Pachetul ru.j4web.examples.java.json.jsonsimpleparsereexample; import java.io.FileReader; import java.io.IOException; import java.util.Iterator; import java.util.logging.Level; import java.util.logging.Logger; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser..json"; public static void main(String args) ( JSONParser parser = new JSONParser(); încercați ( JSONObject object = (JSONObject) parser.parse(new FileReader(FILENAME)); / / Obține numele String name = (String) object.get("nume"); System.out.println("Nume: " + nume); // Obține site-ul String site = (String) object.get("site ") ; System.out.println("Site: " + site); // Obțineți vârsta Long age = (Long) object.get("varsta"); System.out.println("Nume: " + vârsta) ; // Obține mesaje JSONArray mesaje = (JSONArray) object.get("mesaje"); System.out.println("Mesaje:"); Iterator iterator = messages.iterator(); while(iterator.hasNext()) ( System.out .println("> " + iterator.next()); ) ) catch (IOException | ParseException ex) ( Logger.getLogger(JsonSimpleParserExample.class.getName()) .log(Level.

Ce este JSON și ce poate face? În acest articol, veți învăța cum să utilizați JSON pentru a lucra cu ușurință cu date. Ne vom uita, de asemenea, la modul de lucru cu JSON folosind PHP și JavaScript.

Dacă ați dezvoltat site-uri web sau aplicații web în general, sunt șanse să fi auzit de JSON, cel puțin în treacăt. Dar ce înseamnă exact JSON? Ce poate face acest format de date și cum poate fi utilizat?

În acest articol vom învăța elementele de bază ale lucrului cu formatul json. Vom urmări următoarele subiecte:

  • Ce este formatul JSON?
  • Cum se creează șiruri JSON?
  • Exemplu simplu de date JSON
  • Compararea JSON cu XML

Să începem!

Ce este formatul JSON?

JSON este o modalitate simplă, bazată pe text, de a stoca și transmite date structurate. Folosind o sintaxă simplă, puteți stoca cu ușurință atât numere și șiruri de caractere simple, cât și matrice și obiecte, folosind nimic mai mult decât text. De asemenea, puteți lega obiecte și matrice, ceea ce vă permite să creați structuri complexe de date.

Odată creat șirul JSON, acesta poate fi trimis cu ușurință către orice aplicație sau computer, deoarece este doar text.

JSON are multe avantaje:

  • Este compact
  • Este ușor de citit de om și ușor de citit de computere
  • Poate fi convertit cu ușurință în formate software: valori numerice, șiruri de caractere, format boolean, valoare nulă, tablouri și tablouri asociative.
  • Aproape toate limbajele de programare au funcții care vă permit să citiți și să creați format de date json.

Literal, abrevierea JSON înseamnă JavaScript Object Notation. După cum s-a descris mai devreme, acest format se bazează pe crearea de obiecte, ceva similar cu tablourile asociative din alte limbaje de programare.

În ce scopuri este folosit JSON?

Cel mai mult, json este folosit pentru a face schimb de date între javascript și partea de server (php). Cu alte cuvinte, pentru tehnologia ajax. Acest lucru este foarte convenabil atunci când treceți mai multe variabile sau matrice întregi de date.

Iată cum arată într-un exemplu:

  • Utilizatorul face clic pe imaginea în miniatură
  • JavaScript procesează acest eveniment și trimite o solicitare ajax către scriptul PHP, pasând ID-ul imaginii.
  • Pe server, php primește descrierea imaginii, numele imaginii, adresa imaginii mari și alte informații din baza de date. După ce l-a primit, îl convertește în format JSON și îl trimite înapoi pe pagina utilizatorului.
  • JavaScript primește răspunsul sub formă de JSON, procesează datele, generează cod html și afișează o imagine mărită cu o descriere și alte informații.
  • Așa se mărește imaginea fără a reîncărca pagina în browser. Acest lucru este foarte convenabil atunci când trebuie să primim date parțiale sau să transferăm o cantitate mică de informații pe server.

    JQuery favorit al tuturor are funcțiile getJSON() și parseJSON(), care vă ajută să lucrați cu formatul prin solicitări ajax.

    Cum se creează șiruri JSON?


    Mai jos sunt regulile de bază pentru crearea șirurilor JSON:

    • Șirul JSON conține atât o matrice de valori, cât și un obiect (o matrice asociativă cu perechi nume/valoare).
    • Matricea trebuie să fie înfășurată între paranteze drepte, [ și ] și poate conține o listă de valori care sunt separate prin comă.
    • Obiectele sunt înfășurate folosind brațe ondulate, ( și ) și, de asemenea, conțin perechi nume/valoare separate prin comă.
    • Perechile nume/valoare constau din numele câmpului (între ghilimele duble) urmat de două puncte (:) urmate de valoarea câmpului.
    • Valorile dintr-o matrice sau obiect pot fi:
      • Numeric (fracție întreagă sau punctată)
      • Șiruri (înfășurate între ghilimele duble)
      • Boolean (adevărat sau fals)
      • Alte matrice (înfășurate între paranteze drepte [ și ])
      • Alte obiecte (învelite în brațe ondulate ( și ))
      • Valoare nulă

    Important! Dacă utilizați ghilimele duble în valori, evadați-le cu o bară oblică inversă: \". Puteți utiliza și caractere codificate hexadecimal, la fel ca în alte limbaje de programare.

    Exemplu simplu de date JSON

    Următorul exemplu arată cum puteți salva date în „coșul” unui magazin online folosind formatul JSON:

    ("orderID": 12345, "shopperName": "John Smith", "shopperEmail": " [email protected]„, „conținut”: [ ( „productID”: 34, „productName”: „SuperWidget”, „cantity”: 1 ), ( „productID”: 56, „productName”: „WonderWidget”, „cantity”: 3 ) ], „comandă finalizată”: adevărat )

    Să defalcăm aceste date bucată cu bucată:

  • La început și la sfârșit folosim brațe ondulate ( și ) pentru a clarifica faptul că acesta este un obiect.
  • În interiorul obiectului avem mai multe perechi nume/valoare:
  • „orderID”: 12345 - câmp numit orderId și valoarea 12345
  • „shopperName”: „John Smith” - câmp numit shopperName și valoarea John Smith
  • „shopperEmail”: „johnsmith@ example.com” - similar cu câmpul anterior, e-mailul cumpărătorului este stocat aici.
  • „conținut”: [ ... ] - un câmp numit conținut a cărui valoare este o matrice.
  • „orderCompleted”: adevărat - un câmp numit orderCompleted a cărui valoare este adevărată
  • În interiorul matricei de conținut, avem două obiecte care afișează conținutul căruciorului. Fiecare obiect produs are trei proprietăți: productID, productName, cantitate.
  • În cele din urmă, deoarece JSON este identic cu obiectele din JavaScript, puteți lua cu ușurință acest exemplu și puteți crea un obiect JavaScript din el:

    var coș = ("orderID": 12345, "shopperName": "John Smith", "shopperEmail": " [email protected]„, „conținut”: [ ( „productID”: 34, „productName”: „SuperWidget”, „cantity”: 1 ), ( „productID”: 56, „productName”: „WonderWidget”, „cantity”: 3 ) ], „comandă finalizată”: adevărat );

    Compararea JSON cu XML

    În cele mai multe cazuri, vă veți gândi la JSON ca o alternativă la XML - cel puțin în cadrul aplicațiilor web. Conceptul Ajax folosește inițial XML pentru a face schimb de date între server și browser, dar în ultimii ani JSON a devenit mai popular pentru transmiterea datelor ajax.

    Deși XML este o tehnologie încercată și testată care este folosită de multe aplicații, avantajele formatului JSON sunt că este mai compact și mai ușor de scris și citit.

    Iată exemplul JSON de mai sus, rescris doar în format XML:

    ID comandă 12345 Nume cumpărător John Smith E-mail cumpărător [email protected] continut productID 34 productName SuperWidget cantitate 1 produs ID 56 productName WonderWidget cantitate 3 orderCompleted true

    După cum puteți vedea, este de câteva ori mai lung decât JSON. De fapt, acest exemplu are 1128 de caractere, în timp ce versiunea JSON are doar 323 de caractere. Versiunea XML este, de asemenea, mai greu de citit.

    Desigur, nu se poate judeca după un singur exemplu, dar chiar și cantități mici de informații ocupă mai puțin spațiu în formatul JSON decât în ​​XML.

    Cum se lucrează cu JSON prin PHP și JS?

    Acum ajungem la partea cea mai interesantă - partea practică a formatului JSON. Mai întâi, să aducem un omagiu JavaScript, apoi vom vedea cum puteți manipula JSON prin PHP.

    Crearea și citirea formatului JSON folosind JavaScript


    Chiar dacă formatul JSON este simplu, este dificil să scrieți manual atunci când dezvoltați aplicații web. Mai mult, de multe ori trebuie să convertiți șirurile JSON în variabile și apoi să le utilizați în cod.

    Din fericire, multe limbaje de programare oferă instrumente pentru lucrul cu șiruri JSON. Ideea principală a cărei:

    Pentru a crea șiruri JSON, începeți cu variabile care conțin anumite valori, apoi le treceți printr-o funcție care transformă datele într-un șir JSON.

    Citind șiruri JSON, începeți cu un șir JSON care conține anumite date, treceți șirul printr-o funcție care creează variabile care conțin datele.

    Să vedem cum se face acest lucru în JavaScript.

    Crearea unui șir JSON dintr-o variabilă JavaScript

    JavaScript are o metodă încorporată, JSON.stringify(), care preia o variabilă javascript și returnează un șir json reprezentând conținutul variabilei. De exemplu, să folosim un obiect creat anterior și să-l convertim într-un șir JSON.

    var coș = ("orderID": 12345, "shopperName": "John Smith", "shopperEmail": " [email protected]„, „conținut”: [ ( „productID”: 34, „productName”: „SuperWidget”, „cantity”: 1 ), ( „productID”: 56, „productName”: „WonderWidget”, „cantity”: 3 ) ], „orderCompleted”: true ); alertă (JSON.stringify(cart));

    Iată ce va apărea pe ecran:

    ("orderID":12345,"shopperName":"John Smith","shopperEmail":" [email protected]", "conținut":[("productID":34,"productName":"SuperWidget","cantity":1), ("productID":56,"productName":"WonderWidget","cantity":3) ], „comandă finalizată”: adevărat)

    Rețineți că JSON.stringify() scoate șiruri JSON fără spații. Este greu de citit, dar este mai compact, ceea ce este important atunci când trimiteți date.

    Crearea unei variabile JavaScript dintr-un șir JSON

    Există mai multe moduri de a analiza șirurile JSON, cea mai acceptabilă și sigură este utilizarea metodei JSON.parse(). Ia un șir JSON și returnează un obiect JavaScript sau o matrice care conține datele JSON. Iată un exemplu:

    var jsonString = " \ ( \ "comanda comandă": 12345, \ "numeshopper": "John Smith", \ "shopperEmail": " [email protected]", \ "conținut": [ \ ( \ "ID produs": 34, \ "Nume produs": "SuperWidget", \ "cantitate": 1 \), \ ( \ "ID produs": 56, \ "Nume produs": " WonderWidget", \"cantitate": 3\ ) \ ], \"orderCompleted": adevărat \ ) \"; var cart = JSON.parse(jsonString); alert(cart.shopperEmail); alert(cart.contents.productName);

    Aici am creat o variabilă, jsonString, care conține șirul JSON din exemplele furnizate anterior. Apoi am trecut acest șir prin JSON.parse() pentru a crea un obiect care conține date JSON, care a fost stocat în variabila cart. În cele din urmă, verificăm disponibilitatea datelor și afișăm unele informații folosind fereastra modală de alertă.

    Vor fi afișate următoarele informații:

    Într-o aplicație web reală, codul JavaScript ar trebui să primească un șir JSON ca răspuns de la server (după trimiterea unei cereri AJAX), apoi să analizeze șirul și să afișeze conținutul coșului către utilizator.

    Crearea și citirea formatului JSON folosind PHP


    PHP, precum JavaScript, are funcții care vă permit să convertiți variabile în format JSON și invers. Să ne uităm la ele.

    Crearea unui șir JSON dintr-o variabilă PHP

    Json_encode() preia o variabilă PHP și returnează un șir JSON reprezentând datele variabilei. Iată exemplul nostru de „coș” scris în PHP:

    Acest cod produce exact același rezultat ca exemplul JavaScript - un șir JSON valid care reprezintă conținutul variabilelor:

    ("orderID":12345,"shopperName":"John Smith","shopperEmail":" [email protected]","contents":[("productID":34,"productName":"SuperWidget","quantity":1),("productID":56,"productName":"WonderWidget","quantity":3) ],"orderCompleted":true)

    În realitate, scriptul dvs. PHP ar trebui să trimită un șir JSON ca răspuns la o solicitare AJAX, unde JavaScript va folosi JSON.parse() pentru a transforma șirul în variabile.

    În funcția json_encode(), puteți specifica parametri suplimentari care vă permit să convertiți unele caractere în hex.

    Crearea unei variabile PHP dintr-un șir JSON

    Similar cu cele de mai sus, există o funcție json_decode() care vă permite să decodați șiruri JSON și să puneți conținutul în variabile.

    Ca și în cazul JavaScript, acest cod va scoate următoarele:

    [email protected] WonderWidget

    În mod implicit, json_decode() returnează obiecte JSON ca obiecte PHP. Similar cu sintaxa obișnuită, folosim -> pentru a accesa proprietățile unui obiect.

    Dacă mai târziu doriți să utilizați datele ca o matrice asociativă, pur și simplu treceți al doilea parametru adevărat la funcția json_decode(). Iată un exemplu:

    $cart = json_decode($jsonString, adevărat); echo $cart["shopperEmail"] . "
    "; echo $cart["conținut"]["productName"] . "
    ";

    Aceasta produce același rezultat:

    [email protected] WonderWidget

    De asemenea, puteți transmite argumente suplimentare funcției json_decode() pentru a determina procesarea numerelor mari și recursiunea.

    În concluzie despre formatul JSON

    Dacă intenționați să creați o aplicație web folosind tehnologia Ajax, cu siguranță veți folosi formatul JSON pentru schimbul de date între server și browser.


    Json a fost creat pentru JavaScript (numele complet este JavaScript Object Notation) și este un format de schimb de date.

    Json și-a găsit utilizarea în diferite limbaje de programare - de exemplu, în PHP, unde arată astfel:

    ["1":"galben";"2":"verde";"3":"gri"]

    Exemplul arată că nu există spații, iar numele și valoarea sunt cuprinse între ghilimele duble. Dacă lungimea permite, șirul poate fi folosit pentru a transfera date în metoda GET.

    În acest caz, matricea transmisă poate avea o structură pe mai multe niveluri. PHP are un set de funcții json concepute pentru a crea și decoda astfel de șiruri și pentru a funcționa exclusiv cu UTF-8.

    Json_encode în php Această funcție convertește un obiect, o matrice sau o variabilă în format json. Următorul exemplu va converti o matrice în acest format. ?> Json_decode in php Aceasta functie decodeaza sirul primit si in functie de optiunea selectata obtinem un obiect sau o matrice. Funcția are doi parametri - obligatorii (un șir de decriptat) și opțional (dacă îl specificați, va fi scos un tablou, dacă nu, un obiect). Luați în considerare următorul exemplu. Obținerea datelor dintr-o clasă: Obținerea datelor dintr-o matrice: Json_last_error în php

    Această funcție nu are parametri. Returnează o valoare care identifică cauza erorilor.

    • JSON_ERROR_NONE - Nicio eroare
    • JSON_ERROR_SYNTAX - Eroare de sintaxă
    • JSON_ERROR_UTF8 - Caractere UTF-8 incorecte, posibil codificare incorectă
    • JSON_ERROR_DEPTH - Adâncimea maximă a stivei atinsă
    • JSON_ERROR_STATE_MISMATCH - JSON invalid sau incorect
    • JSON_ERROR_CTRL_CHAR - Eroare de caracter de control, posibil codificare incorectă

    Un fișier JSON este deschis de programe speciale. Pentru a deschide acest format, descărcați unul dintre programele propuse.

    Cum se deschide un fișier JSON

    Scopul principal al formatului JSON (fișierul complet de notare a obiectelor JavaScript) este de a fi utilizat în diferite limbaje de programare, inclusiv Java și altele similare.

    Un fișier JSON este o colecție de date text structurate sub formă de terminații perechi cheie-valoare. Înregistrarea unor astfel de perechi este supusă anumitor reguli dictate de codul de program al unei anumite limbi.

    Un analog al extensiei JSON este formatul, cu toate acestea, JSON este mai compact în conținutul său structural.

    JSON nu este popular în rândul unei game largi de utilizatori. Principalii utilizatori ai acestui format sunt programatorii de aplicații web.

    Din punct de vedere practic, scopul principal al fișierelor *.JSON este de a stoca copii de rezervă ale bazelor de date ale browserului web (de exemplu, Yandex sau Firefox). Toate fișierele cu această extensie se află în directorul bookmarkbackups.

    Fără a cunoaște toate nuanțele codului de program al limbajului de programare în care este scris fișierul JSON, nu este strict recomandat să-i faceți modificări. Acest lucru poate duce la nefuncționarea corectă a browserului web sau la eșecul complet.

    Programe pentru deschiderea JSON

    Un fișier JSON este o colecție de date text structurate, astfel încât să îl puteți deschide folosind orice editor de text, cum ar fi Notepad, PSPad editor sau chiar Notepad (aplicația încorporată).

    Pentru vizualizarea și editarea detaliată a formatului JSON în sistemul de operare Windows, se recomandă utilizarea utilităților specializate și a browserelor web (Altova XMLSpy, Mozilla Firefox etc.).

    Este de remarcat faptul că extensia JSON este adaptată pentru a funcționa pe platformele de operare Mac și Linux.

    Pentru a deschide formatul JSON în datele sistemului de operare, utilizați de obicei:

    • Bare Bones TextWrangler (Mac OS);
    • MacVim (Mac OS);
    • Apple TextEdit (Mac OS);
    • GNU Emacs (OS Linux);
    • Vim (OS Linux);
    • Pico (OS Linux).

    Este important să înțelegeți că editarea formatului JSON este permisă numai pentru utilizatorii profesioniști care cunosc toate complexitățile unui anumit limbaj de programare.

    Convertiți JSON în alte formate

    Elementele structurale, tipurile de date, obiectele și modulele fiecărui limbaj de programare individual sunt unice. În acest sens, traducerea/conversia datelor în format JSON în alte extensii nu este posibilă.

    De ce JSON și care sunt avantajele acestuia?

    Un fișier cu extensia JSON nu este atât de popular în rândul unei game largi de utilizatori. Principalii săi consumatori sunt companiile care dezvoltă aplicații web și diverse tipuri de software.

    Un format de date interactiv conceput pentru a reprezenta structuri și obiecte simple de date. Salvat într-un format ușor, bazat pe text, care poate fi citit de om. Bazat inițial pe un subset de JavaScript, dar considerat un format independent de limbă.

    Fișierele JSON sunt adesea folosite în programarea aplicațiilor web Ajax. Poate fi folosit și de alte aplicații ca alternativă la .

    NOTĂ: Mozilla Firefox stochează copiile de rezervă ale marcajelor folosind fișiere JSON. Fișierele sunt salvate în directorul profilului utilizatorului într-un folder numit bookmarkbackups. Puteți să vă salvați manual marcajele Firefox și să le importați în diferite copii ale Firefox. Pentru a importa, deschideți Biblioteca de marcaje, faceți clic pe butonul de import/export din linia de sus, Restaurare → Alegeți fișierul... și selectați fișierul de rezervă JSON.