Crearea și parsarea format de date JSON în PHP
În acest articol vreau să vorbesc despre formatul de schimb de date de tip text - JSON, și anume - despre lucrul cu acest format în PHP.
JSON - format de date text mic. Poate fi folosit ca serviciile de date on-line, precum și pentru stocarea informațiilor într-o formă structurată.
Da, este în tehnologia AJAX. în opinia mea, utilizarea sa primară. Din moment ce tehnologia AJAX presupune trimiterea clienților la server. În continuare, cererea de server este procesat, iar rezultatul este trimis înapoi la client.
Tipul de date în format JSON
JSON suporta toate principalele formate de siruri de caractere de date, numere, valori Boolean, precum și tablouri și obiecte (element de redare: valoarea separată prin virgulă și închise în acolade).
Aici este o reprezentare exemplu de date în format JSON:
Să ne uităm la ce această linie poate fi transferat: un om numit „Ivan“ sub identificatorul „1“, care trăiesc în țară „Rusia“, cu compania „Yandex“ în departamentul de „gestionare“.
Aici este un alt exemplu. Site-ul are o formă de feedback, care funcționează pe tehnologia AJAX. Vizitatorul completează informațiile, atunci acesta este trimis la server pentru a verifica dacă nu se găsesc erori, informațiile sunt stocate în baza de date, iar răspunsul este trimis la conservarea cu succes. Dar, în cazul în care se constată erori, acesta este returnat la tipurile de erori.
Un exemplu de răspuns de eroare în format JSON:
Ceea ce, de exemplu, înseamnă:
În cazul în care nu există erori, acesta returnează răspunsul:
Ce face transmiterea cu succes a datelor.
În PHP, pentru prezentarea datelor în format JSON este o extensie extensie JSON. În versiunile mai vechi ale PHP 5.2.0 suport JSON construit în kernel, în versiunile anterioare trebuie să fie conectat la fișierul script cu funcții suplimentare.
Deci, în PHP, pentru a lucra cu datele în format JSON corespunde cu două funcții: json_encode () și json_decode ().
Conversia de date pentru a JSON
Transformarea inversa a datelor de la JSON
Acum obj $ va conține datele JSON este convertit în PHP-obiect, accesul la care puteți obține următoarele:
După cum puteți vedea, $ obj-> birou este o matrice.
Lucrul cu JSON pot face schimb de date cu serverul în forma „pură“. eliminând complet nevoia de a trimite bucăți voluminoase de cod HTML.
subiecte înrudite
Vreau să rețineți o subtilitate atunci când se ocupă cu IE și generarea de JSON.
Când ne-am itera prin lista, codul se dovedește ceva de genul acesta (Python):
ca urmare a unui șir de caractere ia forma «empty_pers», »empty_mail», »empty_scode», virgulă la sfârșitul și JSON:
Opera și Firefox shavayut și pentru IE va fi o eroare de sintaxă, iar ultima dată când nu am putut găsi debugger că ar fi informat.
Prin urmare, este necesar să se asigure că nu a fost ultima virgula, valabil JSON va arata astfel:
Nu știu Python și PHP este o implozie funcție (), ceea ce face ca o serie de șir fără un separator de finală
Și ce despre textul în limba română? Funcția json_encode () în loc pune ":"
Ce anume ai veni json_encode ()?
deja dat seama)
Am stricat JSom, era sigur că nu este necesar pentru a încadra numele câmpurilor caietul de sarcini citat
aici, că a căzut, revenind nul
corectat răspunsul de la server, astfel încât JSON valid a venit si a functionat
mulțumesc mult
Fă tot atelă exact. În loc de a scoate un rezultat JSON-linii (echo $ user-> nume;) au o eroare: Observație: Încercarea de a obține proprietăți non-obiect în D: \ UsbWebserver \ Root \ TTZ \ jnfo.php pe linia 18
18 linie este listată între paranteze.
S-au găsit. UTF-8 + DOM = RĂULUI.
Oameni buni, acest lucru aici este o funcție json_decode ... nu fac sigur să se ocupe?
>> nu este sigur de a face mânere?
Nu, de ce reinventeze roata ...
Site-ul meu este de lucru cu această metodă. Toate datele sunt stocate într-un fișier text (DAT) și are deja mai mult de 1500 de linii!
JSON este mai potrivit pentru transmisia de date, și nu pentru depozitare.