Kompiuteriai, Programavimas
JSON formatas: aprašymas, pavyzdys
Kintamieji, masyvai ir objektai yra žinoma ir patogi duomenų pateikimo forma. Įprasta aprašyti duomenis "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 virsta poromis: "name = value". Vertė kiekvienoje iš jų taip pat gali būti tokių porų rinkinys.
Įprasta jungtis JSON su garbanotais lankeliais ir "JavaScript" objektais. Pastarasis yra visiškai pateisinamas, 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 arba atvėrė naujus horizontus.
Duomenų keitimas: naršyklė - serveris
AJAX technologija tapo tradicine, įprastas viso puslapio atnaujinimas nustojo būti populiarus. Lankytojas, atidaręs svetainę, inicijuoja keletą dalinių duomenų mainų, kai vienas ar kitas puslapis keičiasi tik tinkamoje vietoje.
Manoma, kad atsiradimas JSON yra dėl AJAX naudojimo, bet iš tikrųjų "JavaScript" ir jo objektų žymėjimo asociaciniai masyvai (objektų aprašymo ir naudojimo sintaksė) daug labiau susiję su "JSON" nei duomenų mainai tarp naršyklės ir serverio.
Kadangi šiuolaikinių svetainių puslapių turinys iš tikrųjų tapo "masinis" (tūrinis), duomenų mainų formato veiksmingumas įgijo ypatingą reikšmę. Negalima sakyti, kad JSON tapo nauja duomenų pateikimu, tačiau tai, kad jau seniai buvo "JavaScript" sintaksės elementas, yra labai svarbus.
"Cyrillic" naudojimas kintamuoju pavadinimu yra labai netikėtas reiškinys (nesąmonė), tačiau jis veikia naujausiuose "Chrome", "Firefox" ir net "Internet Explorer 11" versijose.
Cyrillic ir JSON
Žinoma, verta nenaudoti šio visiškai netikėto reiškinio, prisimenant, kaip lengvai kintamųjų reikšmės, parašytos rusų raidėmis, virsta krokojabiais: ką galima pasakyti apie vardus, ypač išorinius.
Abejotina, kad iniciatyva kirilicijose bus palaikoma naršyklės išorinė aplinka, kurią 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 svarbu, nes kiekvienoje užduotyje reikalingas taikymo srities aprašymas labai palengvina derinimą ir sumažina klaidų skaičių.
Nesvarbu, kokia buvo sintaktinių naujovių JSON, svarbu, kad ji suteiktų teisėtą ir realią galimybę susitvarkyti: "bet koks vardas = bet kokia vertė".
Turime atkreipti dėmesį į "JavaScript" kalbą: 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
Atsižvelgdamas į duomenis JSON formatu, serveris (ypač per PHP) suteikia galimybę apdoroti juos taip, kaip yra, ir grąžinti rezultatą atgal į panašios formos naršyklę. 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"}.
Paveiksle parodytas lizdas leidžiamas.
Čia masyvą pridėjo naujas elementas "savaime" su automatiniu indeksu "0", o paskui vėl su nurodytu indeksu "z".
Atvirkštinė funkcija, json_decode (), paverčia 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 prisegti vienas į kitą tiek naršyklės pusėje, tiek serverio pusėje. Praktiškai JSON formatas (RFC 4627 aprašas) suteikia žymiai daugiau nei 4 lygmens lizdus, tačiau neturėtumėte piktnaudžiauti šia funkcija.
Tai geriausia niekada neapsiriboti per pagrįstą pakankamumą, todėl kodą galima skaityti, supaprastina jo derinimą ir supratimą kitiems kūrėjams.
JSON dažniausiai vadinamas duomenų struktūromis, kurios yra paprastesnės nei XML, suprantamos vienu metu žmonėmis ir kompiuteriais. 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
Praktikoje JSON dažnai naudojama ne tik prieinama trumpoji linija. 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, tėvas, gimimo metai, specialybė, išsilavinimas ... ir 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 kompanijoje yra keletas žmonių, tai yra vienas dalykas, bet jei dešimtys tūkstančių yra visiškai kitokie. Galite ir toliau naudoti duomenų bazę, bet laikyti ją kaip failą atrodo praktiškiau ir labiau prieinamą naudoti.
JSON rinkmenos formatas yra paprastas tekstinis failas. Byla su personalo sąrašu, 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ė.
Paveikslėlyje parodyta paveikslėlyje esančio objekto talpykla, pavyzdys.
Tai svetainės sukurto failo turinio pavyzdys, kuriame yra spalvotos apimties spausdinimo paslaugos ant krepšelių ir keramikos gaminių. Žinoma, tikrai problematiška nuspręsti, ar turite tokį JSON formatą, nei jį atidaryti. Tačiau šiame ir panašiose bylose nėra problemų skaityti failą: PHP skaito failą, jį analizuoja ir siunčia į naršyklę. Lankytojo keisti duomenys grąžinami į serverį ir užregistruoti atgal.
Tokiu atveju failas veikia kaip kintamasis, kuris saugomas už kodo ribų. Jei reikia, kintamasis gauna iš failo reikšmę ir, jei lankytojas ją pakeič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 sąrašas, to nereikia matyti nei kūrėjas, nei svetainės lankytojas.
XML ir JSON
"Viskas turi savo laiką" - klasikinės žinios, priimtos aksiomai netgi prieš prasidedant programavimui. "Niekas neatrodo toks" - taip pat buvo prieš tai, kai asmuo parašė pirmąją suprantamą programą dirbtinėje kalboje.
Duomenų formatai atsiranda iš realaus poreikio ir yra pagrįsti įgyta žiniomis. HTML turi savo kelią, XML turi savo kelią, o JSON yra "JavaScript" objekto logika, išplėsta į kitas kalbas. Lyginant vieną su kita nėra geriausias dalykas. Kiekvienam savo.
XML stebuklingai susidoroti su savo užduotimis ir eiti į istoriją aiškiai nesiruošia. JSON buvo naudojamas dar iki 2006 m., Tačiau ne kiekvienas kūrėjas laikė savo pareigą deklaruoti tam tikrus jo duomenų pateikimo variantus.
Praktiškai buvo atvejų, kai bazinės programos buvo parašytos BASIC, kuriose nenaudojamas JSON, tačiau puikiai saugo poras "name = value" ir laiku pateikia jiems reikiamus algoritmus.
Specialieji simboliai ("", "~", "|", ...) ir duomenų formatus
Įprotis dirbti su asociacijų masyvais ir "JavaScript" objektais leidžia JSON naudoti natūraliai ir patogiai. Tai tikrai puikus formatas, bet sugebėjimas suskaidyti ir sujungti, manipuliuoti stygomis ir masyvais turi daug gilesnių šaknų.
"JavaScript" kalbos funkcijos prisijungti / suskaidyti ir supaprastinti / sprogti PHP kalbą leidžia patogiai ir efektyviai naudoti tiek XML duomenų formatus, tiek JSON, tiek 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ų į darbą su šiuo duomenų formatu.
Daugelis socialinių tinklų sėkmės prilygsta tam, kad tinklalapių nariai ir lankytojai ("Facebook", "LinkedIn", "Twitter", ...) naudojasi ten paskelbtomis medžiagomis.
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
Pasirodo, kad kintamieji turėtų būti apibūdinti (JavaScript) arba bent nurodyti pradinę vertę (PHP). Abiem atvejais kintamasis gali labai lengvai pakeisti jo tipą. Jei reikia, kalba automatiškai atlieka šią konversiją.
Bet kodėl kintamasis neturėtų keisti savo vardo, neatrodo algoritmo vykdymo metu ir neišnyksta, kai iš jo išnyks poreikis? 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 vyks pagal jų taikymo vietas.
Ypač ši aplinkybė yra aiškiai išreikšta PHP, tačiau tai gali būti toleruojama, tačiau su simboliu "$" kintamojo vardu ir kombinacija "$ this->" objekte. Programavimas tuo pačiu metu "JavaScript" ir PHP, iš pradžių tikrai nuostabu, kaip viskas yra kitokia, bet tada viskas tampa toks įprastas ir natūralus ...
Asociacijos masyvas -> JSON
Šiame pavyzdyje dokumentas * .docx sukurtas naudojant PHPOffice / PHPWord biblioteką, o aProperties masyvas turi šio dokumento savybes (autorius, kompanija, pavadinimas, kategorija, kūrimo data ...).
Antrame masyve yra puslapio duomenys:
- Orientacija (kraštovaizdis ar tradicinis);
- Matmenys vertikaliai ir horizontaliai;
- Įtraukos (laukai kairėje, viršaus, apačioje, dešinėje);
- Antraštės ir poraštės.
Dokumentas sukurtas serveryje, kuriame įdiegta PHPOffice / PHPWord biblioteka. Svetainė tvarko šių masyvų vertes per "JavaScript". Rezultatas JSON formatu 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 objekto vertės reikšmę ir reikšmę. Pradžioje JSON eilutės objektas, priskirtas kintamojo ojInfo, turi tris elementus: vardą, amžių ir darbą. Šiek tiek vėliau įterptas būsenos kintamasis.
Po pirmojo ištrynimo pareiškimo ojInfo eilutė praranda 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 jūs iš tikrųjų galite kurti, modifikuoti ir ištrinti bet kurį iš savo rinkinių už veiklos srities (sintaksės) aprašymo ir apdorojimo JavaScript kalbą.
Šio pasirinkimo JSON formatas nebuvo apskaičiuotas, tačiau tai įmanoma, praktiška ir patogi.
Similar articles
Trending Now