JSON formatas: aprašymas, pavyzdys
Kintamieji, masyvai ir objektai yra susipažinę irpatogi duomenų pateikimo forma. Duomenys aprašyti JavaScript naršyklės kalba, kuri PHP serverio kalba nėra būtina. JSON formatas leidžia apibendrinti juos į vieną, o ne sutelkti dėmesį į programavimo kalbą. Tokiu atveju duomenys paverčiami poromis: "name = value". Vertė kiekvienoje iš jų taip pat gali būti tokių porų rinkinys.
JSON yra susijęs su garbanotais skliaustuose irJavaScript objektai. Pastarasis yra visiškai pagrįstas, nes JSON = Object Notation JavaScript formatas. Per pastaruosius ypač dinamiškus metus daug pasikeitė. Kas buvo sukurta tam tikram tikslui, dažnai pasirodė netikėti vaisiai ar atvėrė naujus horizontus.
Duomenų keitimas: naršyklė - serveris
AJAX technologija tapo tradiciniu, normaliu puslapio atnaujinimu visa nustojo būti populiarus. Lankytojas, atidaręs svetainę, inicijuoja keletą dalinių duomenų mainų, kai tam tikri puslapiai keičia tik tinkamoje vietoje.
Manoma, kad yra susijęs su JSON atsiradimunaudojant "AJAX", tačiau iš tikrųjų "JavaScript" ir jo objektų žymėjimo asociaciniai masyvai (objektų aprašymo ir naudojimo sintaksė) turi daug daugiau susijusių su JSON ryšiu nei duomenų mainai tarp naršyklės ir serverio.
Kadangi šiuolaikinių svetainių puslapių turinysiš tiesų tapo "masyvais" (tūrinis), tada ypač svarbu keistis duomenimis. Negalima sakyti, kad JSON tapo nauja duomenų pateikimu, tačiau tai, kad jau seniai yra "JavaScript" sintaksės elementas, yra reikšmingas.
Iš kirilicos naudojimas pavadinti kintamieji - Labai netikėtą reiškinį (nesąmonė), bet ji veikia pastaraisiais versijos "Chrome", "Firefox", ir net, "Internet Explorer 11.
Cyrillic ir JSON
Žinoma, tai visiškai naudotinetikėtas reiškinys nėra vertas, prisimenant, kaip lengvai vertikalūs kintamųjų reikšmės, parašyti rusų raidėmis, virsta kraktžojais: ką galima pasakyti apie vardus, ypač išorinius.
Abejotina, kad iniciatyva kirilicojevardai palaikys naršyklės išorinę aplinką, su kuria jis nuolat turi spręsti. Tačiau šis faktas verta atkreipti dėmesį į paprastą priežastį, kodėl JSON formatas yra galimybė rašyti vardus ir vertybes, kaip to nori kūrėjas. Tai yra svarbu, nes kiekvienoje užduotyje taikymo srities aprašymas, jei to reikalauja, žymiai supaprastina derinimą ir sumažina klaidų skaičių.
Nesvarbu, kokios turėjo pagrindo sintaksinę inovacijas - JSON, svarbu, kad jis davė juridinę teisę ir realią galimybę įdėti eilutę: "bet name = jokios vertės."
Turime padėkoti JavaScript kalbai: tai, ką teikia sintaksė, neįpareigoja kūrėjo ir jam nieko nenustato. Kūrėjas laisvai naudoja kalbos sintaksę optimaliai formuojant duomenų modelį ir jų panaudojimo algoritmą.
PHP ir JSON
Duomenys pateikiami JSON formatu, serveris(ypač naudojant PHP) suteikia galimybę apdoroti juos taip, kaip yra, ir grąžinti rezultatą atgal į naršyklę panašiu formatu. PHP šaltinio masyvas:
- $ cJSON = masyvas ("a" => "alfa", "b" => "beta", "g" => "gamma").
Konvertuokite į "JSON", norėdami perkelti į naršyklę:
- $ cJS = json_encode ($ cJSON)
Rezultatas:
- {"a": "alfa", "b": "beta", "g": "gamma"}.
Leidžiama nuotraukoje parodyta lizdas.
Čia masyvas buvo papildytas nauju elementu "savaime" su automatiniu indeksu "0", o paskui vėl nurodant rodyklę "z".
Atvirkštinė funkcija - json_decode () atliekakonvertuoti JSON eilutę į PHP masyvą. Panašius rezultatus galima pasiekti manipuliuojant PHP funkcijomis: implode () ir sprogti (). Kai kuriais atvejais ši parinktis yra pageidautina.
Lizdų lygis
Elementai gali būti prisegami vienas kito kaipnaršyklės pusėje ir serverio pusėje. Praktiškai JSON formatu (aprašymas RFC 4627 standarto) suteikia žymiai daugiau, nei 4 lygius lizdus, bet neturėtų piktnaudžiauti šia galimybe.
Tai geriausia niekada neapsiriboti per pagrįstą pakankamumą, todėl kodą galima skaityti, supaprastina jo derinimą ir supratimą kitiems kūrėjams.
JSON dažnai vadinama duomenų struktūromis,kurios yra paprastesnės nei XML, suprantamos tuo pačiu metu žmonėms ir kompiuteriams. Tai yra tiesa, kai duomenų kiekis yra mažas, o kūrėjams tinkamai pasirenkamas lizdų lygis. Visais kitais atvejais skaičiuojant skliaustų skaičių ir suprasti duomenų struktūrą yra sunku ir naršyklės pusėje, ir serverio pusėje.
JSON failai
Dažniausiai JSON naudojimas praktikoje nėratik prieinamą trumpąja linija suvokimą. Bet kokie duomenų konstruktai visada yra pragmatiški. Tokiu atveju JSON gali būti veiksmingai pritaikytas tiek realioms užduoties duomenims (įmonės darbuotojams), tiek laikinajam duomenų (objekto talpyklos) diegimui.
Įmonės personalas ir JSON formatas: pavyzdys
Paprastai vieno asmens įrašas yra pavardė,vardas, pavardė, gimimo metai, specialybė, išsilavinimas, ... ir dar keletas paprastų reikšmių. Net ir ypač reikalaujančiose kompanijose vieno asmens įrašas neviršys dvylikos ar dviejų laukų. Tai yra prieinama suvokimui ir gali būti dedama į duomenų bazės eilutę.
Jei bendrovėje yra keletas žmonių, tai yravienas, bet jei dešimtys tūkstančių yra visiškai kitokia. Galite ir toliau naudoti duomenų bazę, tačiau laikyti failą kaip failą yra praktiškesnis ir labiau prieinamas naudojimui.
JSON rinkmenos formatas yra paprastas tekstinis failas. Darbuotojų sąrašo atvejis, kur jis buvo. Jūs visada galite jį perskaityti. Atidarykite ir redaguokite taip pat bet kuriame teksto redaktoriuje, kuriame nėra įpročio pridėti savo paslaugų informaciją į failo turinį. Apskritai, * .json yra grynas tekstas tiek naršyklės viduje, tiek failo viduje - eilutėje.
Nuotraukoje rodomas paveikslėlyje esančio objekto talpykla, pavyzdys.
Tai yra sukurto failo turinio pavyzdyssvetainė, teikianti spalvotą spausdinimą ant ratų ir keramikos. Žinoma, tikrai problematiška nuspręsti, ar turite tokį JSON formatą, nei jį atidaryti. Tačiau šiuo ir panašiais atvejais, problemos su skaitant failą kyla PHP skaito failą, analizuoja ją ir siunčia į naršyklę. Pakeistas lankytojo duomenų grąžinamas į serverį ir užregistruojamas atgal.
Šiuo atveju failas veikia kaipkintamasis, kuris saugomas už kodo ribų. Jei reikia, kintamasis gauna iš failo reikšmę ir, jei lankytojas ją keičia į svetainės pateiktą dialogą, visi pakeitimai bus įrašyti taip, kaip yra. Nebūtina skaityti ir tikrinti failo turinio.
"JSON" dažnai naudojamas tarnybinės informacijos saugojimui ir naudojimui - tai nėra personalo lentelė, to nereikia matyti nei kūrėjas, nei svetainės lankytojas.
XML ir JSON
"Viskas turi savo laiką" - klasikinės žinios,Aksioma priimta prieš prasidedant programavimui. "Niekas neatrodo tokia", taip pat buvo prieš tai, kai vyras parašė pirmąją suprantamą programą dirbtinėje kalboje.
Duomenų formatai rodomi iš realių poreikiųir yra pagrįstos įgyta žiniomis. HTML turi savo kelią, XML turi savo kelią, o JSON yra "JavaScript" objekto logika, išplėsta į kitas kalbas. Lyginant vieni su kitais nėra geriausias dalykas. Kiekvienam savo.
XML stebuklingai susidoroti su savo užduotimis irMatyt, nesiruošia eiti į istoriją. JSON buvo naudojamas iki 2006 m., Tik ne kiekvienas kūrėjas laikė savo pareigą deklaruoti tam tikrus savo duomenų pateikimo variantus.
Buvo atvejų praktikoje, kai buvo pagrindasrašytinės programos, kurios nenaudoja JSON kaip tokios, tačiau puikiai saugo poras "name = value" ir pateikia juos reikiamu laiku prieinamuose algoritmuose.
Specialieji simboliai ("", "~", "|", ...) ir duomenų formatus
Įprotis dirbti su asociacinėmis masyvomis irObjektai "JavaScript" leidžia JSON naudoti natūraliai ir patogiai. Tai tikrai puikus formatas, tačiau sugebėjimas suskaidyti ir sujungti, manipuliuoti stygomis ir masyvais turi daug gilesnių šaknų.
"Javascript" ir "split" funkcijosimplode / explode iš PHP kalbos leidžia patogiai ir efektyviai naudoti tiek XML duomenų formatus, JSON ir savo versiją. Pastarasis dažnai yra optimalus, o pirmieji du yra idealūs bendram naudojimui. Jei informacijos perdavimas kitam kūrėjui, serveriui, failui ar duomenų bazei, XML ir JSON nėra geresni. Su jais visi dirba, nes informacijos perdavimo / priėmimo nereikia komentuoti.
"JSON" naudojimas "Android"
"Android" skaitymas ir rašymas "JSON" formatu yra ne tik daiktų norma, bet ir daugybė objektų, orientuotų dirbti su šiuo duomenų formatu.
Daugelis asocijuojasi su nepaprastąja socialinių tinklų sėkme su tuo, kad atitinkamų svetainių nariai ir lankytojai ("Facebook", "LinkedIn", "Twitter", ...) naudoja ten paskelbtas medžiagas.
Tokiu atveju naudojamas JSON formatas. Galbūt tai tiesa, bet klausimas yra ne fenomenalus socialinių tinklų pobūdis, bet tai, kad informacijos pateikimas formatu "name = value" yra patogu programuoti ir naudoti. Skirtingai nuo griežto ir sudėtingo "XML", tai tikrai žmonėms patogus formatas.
Asociacijos masyvai
Taip atsitiko, kad kintamieji turėtų būti aprašyti(JavaScript) arba bent nurodykite pradinę vertę (PHP). Abiem atvejais kintamasis gali labai lengvai pakeisti jo tipą. Jei reikia, kalba automatiškai atlieka šią konversiją.
Bet kodėl nepakeisk savo vardo?Neatsiranda algoritmo vykdymo metu ir neišnyksta, kai išnyks reikalingumas? Asociacijos masyvai leidžia išspręsti šią problemą, tačiau tada, naudojant tokius palyginti dinamiškus kintamuosius, masyvo pavadinimas ir atitinkamos sintaksės konstrukcijos taps jų taikymo vietomis.
Ypač ši aplinkybė aiškiai išreikšta PHPbet tai gali būti toleruojamas, nes, tiesą sakant, su simboliu "$" į kintamojo vardo ir "this- $>" kartu objekto viduje. Vienu metu Programavimas JavaScript ir PHP, pirmas tikrai nustebinti, kaip viskas yra kitaip, bet tada viskas tampa taip pažįstama ir gamtos ...
Asociacijos masyvas -> JSON
Šiame pavyzdyje, kurį PHPOffice / PHPWord bibliotekoje sukuria dokumentą * .docx, ir apie aProperties masyvas sudaro dokumento ypatybes (autorius, įmonės pavadinimas, kategorija, data, ...).
Antrame masyve yra puslapio duomenys:
- Orientacija (kraštovaizdis ar įprasta);
- dydžiai vertikaliai ir horizontaliai;
- Įtraukos (laukai kairėje, viršaus, apačioje, dešinėje);
- antraštės ir poraštės.
Dokumentas yra sukurtas serveryje,kur įdiegta PHPOffice / PHPWord biblioteka. Svetainė tvarko šių masyvų vertes per JavaScript. Rezultatas formatu JSON grąžinamas atgal į serverį ir naudojamas PHP algoritmuose jo konstrukcijose, ty masyvuose.
Dinaminiai kintamieji
JSON formatas sprendžia dinaminių kintamųjų problemą. Čia galite kurti, modifikuoti ir ištrinti kintamuosius be nereikalingų sintaksės polių. Jis atrodo gražiai ir yra naudojamas JavaScript.
Šiame pavyzdyje funkcija GetOjInfo () pasirenka pavadinimąvertė ir vertė iš objekto. Pradžioje JSON eilutės objektas, priskirtas kintamojo ojInfo, turi tris elementus: vardą, amžių ir darbą. Šiek tiek vėliau pridedamas būsenos kintamasis.
Po pirmojo ištrynimo pareiškimo eilutė ojInfopraranda amžiaus elementą po antrojo ištrynimo - darbo elemento. Darant prielaidą, kad ši eilutė yra kintamųjų rinkinys, turintis tam tikrą reikšmę, tada naudojant JSON galite iš tikrųjų kurti, modifikuoti ir ištrinti bet kurį jų rinkinį už veiksmo lauko (sintaksės) aprašymo ir JavaScript kalbos apdorojimo.
Šio pasirinkimo JSON formatas nebuvo apskaičiuotas, tačiau tai įmanoma, praktiška ir patogi.