ArvutidProgrammeerimine

JSON-vorming: kirjeldus, näide

Muutujad, massiivid ja objektid on tuttav ja hõlbus andmete esitusviis. On tavaks kirjeldada JavaScripti brauseri keeles olevaid andmeid, mida PHP serveri keeles ei ole vaja. JSON-vorming võimaldab neid üldistada ja mitte keskenduda programmeerimiskeele. Sellisel juhul muutuvad andmed paariks: "name = value". Nende väärtus võib olla ka selliste paaride kogum.

Tavaliselt on JSON seotud lokkide ja JavaScript-objektidega. Viimane on täielikult põhjendatud, kuna JSON = Object Notation JavaScript-vormingus. Viimase eriti dünaamilise aasta jooksul on palju muutunud. See, mis loodi konkreetse eesmärgi saavutamiseks, tõi sageli ootamatu vilja või avas uued silmapiirid.

Andmevahetus: brauser - server

AJAX-tehnoloogia on muutunud traditsiooniliseks, kogu lehe tavaline värskendamine pole enam populaarne. Külastaja avab saidi, algatades osade andmevahetuste rea, kui üks või teine leht muutub ainult asjakohasel kohas.

Arvatakse, et JSON-i tekkimine on tingitud AJAXi kasutamisest, kuid tegelikult JavaScripti assotsieerivad massiivid ja nende objektmärkimine (objektide kirjeldamise ja kasutamise süntaks) on JSONiga palju tihedamalt seotud kui brauseri ja serveri vaheline andmevahetus.

Kuna tänapäevaste saitide lehtede sisu on tõepoolest muutunud "massiivseks" (mahuliseks), siis on eriline tähtsus andmevahetuse vormingu efektiivsusele. Ei saa öelda, et JSON on muutunud uueks andmete esituseks, kuid oluline on see, et see on pikka aega olnud JavaScripti süntaksi element.

Muutuja nimetamisel on kirillitsa kasutamine väga ootamatu nähtus (mõttetus), kuid see töötab Chrome'i, Firefoxi ja isegi Internet Explorer 11 versioonides.

Kirillits ja JSON

Loomulikult ei ole selle täiesti ootamatu nähtuse kasutamist väärt, pidades meeles, kui kergesti muutuvad vene tähestikus kirjutatud muutujate väärtused krakoksaabriteks: mida on öelda nimede, eriti väliste nimede kohta.

On kaheldav, et kirillitsa nimede algatus toetab brauseri väliskeskkonda, millega ta pidevalt tegeleb. Kuid see asjaolu väärib tähelepanu lihtsalt sellepärast, et JSON-vorming on võime kirjutada nimed ja väärtusi, kuidas arendaja seda soovib. See on oluline, sest iga ülesande puhul nõuab rakendusala kirjeldus, mis seda nõuab, oluliselt silumisprobleeme ja vähendab vigade arvu.

Pole tähtis, mis süntaktiline innovatsioon põhineb JSONil, on oluline, et see annaks seadusliku õiguse ja reaalse võimaluse sobitada: "kõik nimi = mis tahes väärtus".

Me peame austama JavaScripti keelt: seda, mida süntaks annab, ei kohusta arendajat ja ei pane talle midagi ette. Arendaja kasutab vabalt andmeside optimaalse kujundamise ja nende kasutamise algoritmi keele süntaksi.

PHP ja JSON

JSON-vormingus andmete saamisel annab server (eelkõige PHP-i kaudu) võimaluse töödelda neid nii, nagu on, ja tagastada tulemuse tagasi samasuguses vormingus brauserisse. PHP allika massiiv:

  • $ CJSON = array ("a" => "alfa", "b" => "beeta", "g" => "gamma").

Brauserile üleminekuks teisendatakse JSON-i:

  • $ CJS = json_encode ($ cJSON ).

Tulemus:

  • {"A": "alfa", "b": "beeta", "g": "gamma"}.

Foto sees olev pesa on lubatud.

Siin lisati massiiv uue elemendiga "iseenesest" automaatse indeksiga "0" ja seejärel uuesti määratud indeksiga "z".

Pöördfunktsioon, json_decode (), teisendab JSON-string PHP-massiiviks. Sarnaseid tulemusi on võimalik saavutada, manipuleerides PHP funktsioonidega: implode () ja explode (). Mõnel juhul on see valik eelistatav.

Pesitsusaste

Elemente saab omavahel siduda nii brauseri poolel kui ka serveripoolsel küljel. Praktikas pakub JSON-i formaat (RFC-koodi 4627 kirjeldus) oluliselt rohkem kui nelja pesitsustaseme, kuid seda funktsiooni ei tohiks kuritarvitada.

Parim ei tohi kunagi ületada mõistlikku piisavust, see muudab koodi loetavaks, lihtsustab teiste arendustegevuste silumine ja arusaamist.

JSONile viidatakse tavaliselt XML-i lihtsamatele andmestruktuuridele, neid mõistavad samal ajal ka inimesed ja arvutid. See kehtib siis, kui andmemaht on väike ja arendaja paigutamise tase on pädevalt välja valitud. Kõigil teistel juhtudel on sulgude arvu lugemine ja andmete struktuuri mõistmine keerukas nii brauseri küljel kui ka serveripoolsel küljel.

JSON-failid

JSONi kasutamine praktikas ei ole sageli piiratud ligipääsetava lühikese reaga. Iga andmekonstruktsioon on alati pragmaatiline. Sellisel juhul saab JSONi efektiivselt rakendada nii tõeliste ülesannete andmete (ettevõtte personali) kui ajutiste andmete (objekti vahemälu) rakendamisel.

Ettevõtte personali ja JSON-vormingus: näide

Tavaliselt on ühe isiku rekord perekonnanimi, eesnimi, tunnistaja, sünniaasta, eriala, haridus ... ja veel mõned lihtsamad tähendused. Isegi eriti nõudlikes ettevõtetes ei ületa ühe isiku register üheksateist või kahte välju. See on ligipääsetav tajumisele ja saab asetada andmebaasi reale.

Kui ettevõttes on mitu inimest, on see üks asi, aga kui kümned tuhanded on täiesti erinevad. Võite andmebaasi jätkata, kuid selle salvestamine failina näib olevat praktilisem ja kasutuskõlblikum.

JSON-failivorming on tavaline tekstifail. Töötajate nimekiri, kus iganes see läks. Saate seda alati lugeda. Avamine ja redigeerimine on saadaval ka kõigis tekstitöötlusfunktsioonides, kus ei ole harjumust oma failiteavaldusele teenuse info lisamiseks. Üldiselt on * .json puhas tekst nii brauseri sees kui ka faili sees - string.

Pilt näitab pilti moodustava objekti vahemälu, näiteks.

See on näide kohas loodud failist, mis pakub kruvide ja keraamikatoodete värvimõõtmist. Loomulikult on otstarbekas otsustada, kas teil on selline JSON-vorming, kui selle avamiseks. Selles ja sarnastel juhtudel ei ole faili lugemisega probleeme: PHP loeb faili, analüüsib seda ja saadab selle brauserisse. Külastaja poolt muudetud andmed tagastatakse serverisse ja salvestatakse tagasi.

Sellisel juhul toimib fail kui muutuja, mis on salvestatud koodist väljaspool. Vajadusel saab muutuja failist väärtuse ja kui selle muudab külastaja saidi esitatud dialoogis, salvestatakse kõik muudatused nii, nagu on. Faili sisu ei ole vaja lugeda ega kontrollida.

JSONi kasutatakse sageli teenindusandmete salvestamiseks ja kasutamiseks - see ei ole personali nimekiri, seda ei pea nägema arendaja ega saidi külastaja.

XML ja JSON

"Kõik on oma ajaga" - klassikaliste teadmiste aktsiomiks aktsepteeritud juba enne programmeerimise algust. "Midagi ei näi just nii" - see oli ka enne, kui inimene kirjutas esimese arusaadava programmi kunstlikus keeles.

Andmeformaadid ilmuvad tegelikust vajadusest ja põhinevad omandatud teadmistel. HTML-il on oma tee, XML-il on oma tee ja JSON on Java-objekti loogika, mida laiendatakse ka teistesse keeltesse. Üksteise võrdlemine ei ole parim asi. Igaühele ise.

XML suudab imeliselt oma ülesannetega toime tulla ja minna ajaloo juurde, ei ole ilmselt võimalik. Ja JSONi kasutati juba enne 2006. aastat, see pole just see, et iga arendaja pidas oma kohustust deklareerida teatavaid variante oma andmete esitamiseks.

Praktilistel juhtudel on BASIC-i jaoks kirjutatud põhiprogrammid, mis ei kasuta JSON-i kui sellist, kuid säilitavad täiuslikult paarid "name = value" ja annavad õiged algoritmid õigel ajal.

Erisümbolid ("", "~", "|", ...) ja andmeformaadid

Harjumused töötamiseks assotsiatiivsete massiivide ja JavaScripti objektidega muudavad JSONi kasutamise loomulikuks ja mugavaks. See on tõesti suurepärane formaat, kuid võime jagada ja ühendada, stringide ja massiivide käsitsemisel on palju sügavamad juured.

JavaScripti keele liitmise / jagamise funktsioonid ja PHP keele implode / plahvatuse muudavad mugavaks ja tõhusaks nii XML-andmesideformaatide, JSON-i kui ka oma versiooni. Viimane on sageli optimaalne ja kaks esimest on ideaalseks üldiseks kasutamiseks. Kui teabe edastamine teisele arendajale, serverile, failile või andmebaasile on XML ja JSON pole paremad. Nendega kõik töötavad, sest teabe edastamine / vastuvõtmine ei vaja märkusi.

JSONi kasutamine Android-seadmes

Androidi JSON-vormingus andmete lugemine ja kirjutamine ei ole mitte ainult asjade normatiiv, vaid ka selle objektiga töötamiseks orienteeritud objektide hulk.

Paljud seostavad sotsiaalsete võrgustike fenomenaalset edu sellega, et seal avaldatud materjalidest saavad kasu asjaomase saidi liikmed ja külastajad (Facebook, LinkedIn, Twitter jne).

Sellisel juhul kasutatakse JSON-vormingut. Võib-olla on see tõsi, kuid küsimus ei ole sotsiaalsete võrgustike fenomenaalne olemus, vaid asjaolu, et teabe esitamine vormingus "name = value" on mugav nii programmeerimiseks kui ka kasutamiseks. Erinevalt rangest ja komplekssest XML-st on see tõepoolest inimeselt sõbralik formaat.

Assotsieeruvad massiivid

Selgus, et muutujat tuleks kirjeldada (JavaScript) või vähemalt määrata algväärtus (PHP). Mõlemal juhul võib muutuja muuta selle tüübi väga lihtsalt. Kui see on vajalik, teeb see keel automaatselt selle konversiooni.

Kuid miks peaks muutuja ka nime muutma, ei peaks ilmnema algoritmi täitmisel ega kao, kui selle vajadus kaob? Assotsieeruvad massiivid võimaldavad seda probleemi lahendada, kuid siis kasutades selliseid suhteliselt dünaamilisi muutujaid, järgivad massiivi nimi ja vastavad süntaktilised konstruktsioonid nende rakenduskohtadele.

Eriti on see asjaolu PHP-s selgelt väljendatud, kuid see võib olla talutav, aga muutuja nime ja sümboli "$ this->" objekti sees on sümbol "$". Programmeerimine samaaegselt JavaScripti ja PHP-ga, alguses on tõesti hämmastav, kuidas kõik on erinev, aga siis kõik muutub nii tuttavaks ja looduslikuks ...

Assotsieeriv massiiv -> JSON

Selles näites on PHPOffice / PHPWordi raamatukogu abil loodud * .docx dokument ja aProperties massiiv sisaldab selle dokumendi omadusi (autor, firma, pealkiri, kategooria, loomise kuupäev jne).

Teine massiiv sisaldab andmeid lehel:

  • Orientatsioon (maastik või tavaline);
  • Suurused vertikaalselt ja horisontaalselt;
  • Taanded (lahtrid vasakult, ülaservas, allpool, paremal);
  • Päised ja jalused.

Dokument on loodud serveris, kus PHPOffice / PHPWordi raamatukogu on installitud. Sait haldab nende massiivide väärtusi JavaScripti kaudu. Tulemus JSON-vormingus tagastatakse tagasi serverile ja seda kasutatakse PHP-algoritmides oma konstruktsioonides, st massiivides.

Dünaamilised muutujad

JSON-vorming lahendab dünaamiliste muutujate probleemi. Siin saate luua, muuta ja kustutada muutujaid ilma asjatute süntaksivardadega. Tundub kena ja seda kasutatakse JavaScripti.

Selles näites valib funktsiooni GetOjInfo () väärtuse nimi ja väärtus objektist. Esialgu on ojInfo muutujaga määratud JSON stringide objekt kolm elementi: nimi, vanus ja töö. Veidi hiljem lisatakse muutuja Status (staatus).

Pärast esimest kustutussõnumit kaotab ojInfo string pärast teise kustutamist vanuse elementi tööelementi. Eeldades, et see joon on teatud tähendusega muutujate kogum, siis saate JSON-i abil tegelikult luua, muuta ja kustutada mõne oma komplekti väljapoole JavaScripti keele kirjeldamise ja töötlemise operatsioonivälja (süntaks).

Seda võimalust JSON-vormingus ei arvutatud, kuid see on võimalik, praktiline ja mugav.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 et.delachieve.com. Theme powered by WordPress.