KompjûtersProgramming

JSON format: beskriuwing, foarbyld

Fariabelen, rigen, en foarwerpen - in bekende en handige foarm fan data presintaasje. Beskriuwe de gegevens nommen yn de blêder yn JavaSkriptName dat dogge net needsaaklikerwize taal PHP tsjinner. JSON formaat kinne jo compile se yn ien gehiel, en net te rjochtsjen op de programmearring taal. De gegevens wurde omset yn in pear "namme = wearde". De wearde yn elk fan harren kin ek in samling fan dy pearen.

Oannommen JSON ferbûn mei in beugel en JavaSkript objekten. Dy lêste is hiel terjochte, sûnt JSON = Object Fierdere JavaSkript-formaat. Yn de ôfrûne jierren, benammen dynamysk, in soad feroare. Dat is makke foar in bepaald doel, faak bringt ûnferwachte resultaten en iepene op nije kimen.

Data útwikseling: de blêder - tsjinner

AJAX technology is tradisjoneel, normaal update de hiele side is net mear populêr. De besiker, opening van de site, inisjearret in rige fan parsjele gegevens útwiksels, doe't guon siden fariearje allinnich yn it plak dat is efterstallige.

It leaude dat it uterlik JSON assosjearre mei AJAX, mar eins assosjative JavaSkript rigen en Object Fierdere (benammen syntaks beskriuwing en it gebrûk fan objekten) binne folle mear besibbe oan de ferhâlding fan JSON, as gegevens útwikseling tusken de browser en de tsjinner.

Sûnt de ynhâld fan siden fan hjoeddeiske sites hat echt wurden "massive" (surround), en de effektiviteit fan it formaat dêr't gegevens útwikseling hat nommen op bysûndere betsjutting. Wy kinne net sizze, dat wie de nije JSON fertsjintwurdiging fan de gegevens, mar it feit dat hy hie lang west JavaSkript syntax elemint is essinsjeel.

It gebrûk fan it Syrillysk alfabet yn nammejouwing fariabelen - hiel ûnferwachte ferskynsel (ûnsin), mar it wurket yn resinte ferzjes fan Chrome, Firefox, en sels, yn Internet Explorer 11.

Syrillysk and JSON

Fansels, mei in folslein ûnferwachte ferskynsel is net wurdich ûnthâlden hoe maklik de wearden fan fariabelen opnommen yn it Russyske brieven, feroare yn gibberish, wat kin ik sizze oer de nammen, benammen bûtenlânske.

It is twijfelachtig dat it inisjatyf yn stipe fan Syrillysk nammen bûten de browser omjouwing, dêr't er hieltyd te krijen hawwe mei. Mar dit feit fertsjinnet omtinken foar de simpele reden dat de JSON yndieling - it is in mooglikheid om te skriuwen de nammen en wearden as jo graach de projektûntwikkeler. Dat is belangryk, omdat yn elk probleem omskriuwing mêd fan tapassing as it is nedich, sterk simplifies debuggen en ferminderet flaters.

Gjin kwestje hokker soarte fan hie in basis syntaktyske ynnovaasje - JSON, is it wichtich dat it joech in wetlik rjocht en in echte kâns om sette de line: "eltse namme = eltse wearde."

Wy moatte betelje earbetoan oan de JavaSkript taal: dat jout syntaksis net nedich de projektûntwikkelder en it net oplizze neat. Untwikkelder frij brûkt taal syntaksis foar optimale foarming fan de gegevens model en de algoritme se brûke.

PHP en JSON

Dêrby gegevens yn JSON-formaat, de tsjinner (fia PHP, benammen) lit se omgean as it is en werom it resultaat werom nei de browser yn deselde opmaak. Boarne array PHP:

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

Omsette fan in JSON formaat dêr't oerdracht oan de browser:

  • $ CJS = json_encode ($ cJSON) .

resultaat:

  • { "A": "alfa" , "b": "beta", "g": "Gamma"}.

Permitted sjen yn foto briedgebiet.

Hjir foarme troch de rige waard tafoege in nij elemint "nei himsels" mei automatyske yndeks "0", en dan wer mei dit "z" index.

Inverse Funksje - json_decode () set in JSON string yn in PHP array. Similar resultaten berikt wurdt troch manipulearjende de PHP funksjes: implode () en explode (). Yn guon gefallen, dizze opsje de foarkar.

briedgebiet nivo

De eleminten kinne nested yn elkoar as de blêder-kant of tsjinner kant. Yn de praktyk JSON opmaak (beskriuwing RFC 4627 standert) jout signifikant mear as 4 nivo fan briedgebiet, mar moatte gjin misbrûk dy mooglikheid.

It is it bêste om nea fierder as de grinzen fan reedlike genôch wêzen, it makket de koade lêsber, makliker te debug en begryp fan oare ûntwikkelers.

JSON kin wurde útfierd nei de data struktueren dy't de XML makliker, begrepen beide minsken en kompjûters. Dat is wier, doe't it bedrach fan gegevens is lyts en it nesting nivo fan de ûntwikkelders hat ferstannich. Yn alle oare gefallen, telle it tal heakjes en begripe de struktuer fan de gegevens is dreech as de blêder-kant en tsjinner-kant.

JSON triemmen

Tapassing fan JSON yn de praktyk faak is net beheind ta de belibbing fan de beskikbere koarte string. Any data struktuer binne altyd pragmatysk. By deselde JSON kin effektyf tapast yn 'e wiere gegevens fan it probleem (steat ûndernimming), en ek foar de útfiering fan tydlike gegevens (cache foarwerp).

Steat bedriuwen en JSON-yndieling: Example

Gewoanwei, opname likernôch ien persoan - in efternamme, earst namme, bertedatum, berop, ûnderwiis, ... en in pear mear pretentieloze wearden. Sels yn 'e alderheechste easken oan steld bedriuwen rekord fan ien persoan hat net boppe in stik as tsien of twa fjilden. Dit waarnimming is beskikber en kin wurde pleatst yn in databank rige.

As it bedriuw telt meardere minsken - is ien ding, mar as tsientûzenen - is hiel oare. Jo kinne trochgean om de databank, mar hâlden dat yn in triem sjocht mear praktyske en mear betelbere te brûken.

File opmaak JSON - een platte tekst triem. De saak mei de personiele ynset, alle rjocht. Lês it is altyd mooglik. Iepen en feroaring is ek beskikber yn alle tekst bewurker dat net hawwe de gewoante om te foegjen harren kommersjele ynformaasje yn de triem ynhâld. Algemien, * .json - it is suver tekst binnen de browser, en binnen de triem - snaar.

De foto lit in cache foarwerp, foarmje in foto foarbyld.

Dit is in foarbyld fan triem ynhâld generearre sites oanbiede kleur print folume op mugs en keramyk. Fansels, om te besluten mei in JSON-formattearre jo it iepenje, echt problematysk. Lykwols, yn dit en ferlykbere gefallen, problemen mei it lêzen fan in triem ûntstiet: PHP lêst de triem, parses it en stjoert oan 'e browser. Altered besiker gegevens weromjûn oan de tsjinner en skreaun werom.

Yn dizze útfiering, it brûken fan de triem blykt as in fariabele, dat wurdt opslein bûten de koade. As it nedich is, de fariabele wurdt tawiisd de wearde fan 'e triem, en as it is feroare troch de besiker yn it dialooch, levere foar de site, alle feroarings sille wurde opnommen as it is. Gjin needsaak om te lêzen en ferifiearje de ynhâld fan de triem.

JSON wurdt faak brûkt foar de opslach en it brûken fan fertroulike ynformaasje - net personiele ynset, it is net nedich om te sjen of de ûntwikkelders of site besiker.

XML en JSON

"All in goede tiid" - klassyk kennis, fanselssprekkend sels foardat programmearring. "Net dat der net allinnich" - dat wie ek foar minsken skreau de earste begryplike programma yn in keunstmjittige taal.

dataformaten ferskine op it werklike ferlet en binne basearre op de behelle kennis. Yn HTML - syn paad, yn de XML - hat syn eigen wize, en JSON - JavaSkript Object is logika trochlutsen nei oare talen. Om ferlykje iene mei de oare is net de bêste besetting. Om elk syn eigen.

XML wûndermoai cope mei harren taken en gean de boeken yn is dúdlik net oan. A JSON waard brûkt oant 2006, krekt net alle projektûntwikkelder hat beskôge it as syn plicht om te ferklearjen bepaalde opsjes presintearje harren gegevens.

Der wiene gefallen yn de praktyk doe't BASIC waard skreaun programma net brûke JSON as sadanich, mar perfekt storing pearen "name = wearde" en meitsje se beskikber te passe algoritmen op it rjochte stuit.

Spesjale karakters ( «` »,« ~ »,« | », ...) en dataformaten

De gewoante fan it wurkjen mei Associatieve rigen en objekten yn JavaScript makket gebrûk JSON natuerlike en komfortabel. It is echt in grut formaat, mar de mooglikheid om te dielen en ferbinen, manipulearjende snaren en rigen, hat folle djippere woartels.

Funksjes meidwaan / split JavaSkript taal en implode / explode PHP taal kinne handich en effisjint om te brûken as de XML- gegevens formaat, JSON, en syn eigen ferzje. Dy lêste is faak optimaal, en de earste twa binne ideaal foar algemien gebrûk opsjes. As it is de oerdracht fan ynformaasje nei in oar projektûntwikkelder, tsjinner, nei in triem of databank, XML en JSON is better net te finen. Se allegearre wurkje, omdat de oerdracht / opfang fan ynformaasje net nedich comments.

Mei help fan JSON yn Android

Lêzen en skriuwen gegevens yn JSON opmaak yn Android - net allinnich de noarm fan 'e dingen, mar ek in set fan foarwerpen, rjochte te wurkjen mei sokke gegevens formaat.

In soad attribute de fenomenale sukses fan sosjale netwurk- sadat leden en besikers fan dy sites (Facebook, LinkedIn, Twitter, ...) útkearing fan de materialen publisearre dêr.

It brûkt it oan JSON. Faaks dat is wier, mar de fraach is net yn 'e fenomenale sosjale netwurken, mar it feit dat yndie it beskikber stellen fan ynformaasje yn de opmaak fan "name = wearde" is handich foar programmearjen, en foar gebrûk. Yn tsjinstelling ta de strange en complexed «XML» it is echt minsklik-freonlik formaat.

Associatieve rigen

It sa barde dat de fariabelen moatte wurde beskreaun (JavaSkript) of sels oantsjutte in startwearde (PHP). Yn beide gefallen, de fariabele kin feroarje syn soarte is hiel maklik. As it nedich is, de taal docht dit konverzje automatysk.

Mar wêrom net feroarje de fariabele en har namme net ferskine yn 'e foarstelling fan' e algoritme en net ferdwine doe't de needsaak foar it sil ferdwine? Associatieve rigen tastean ús te lossen dit probleem, mar doe it gebrûk fan sa'n relatyf dynamysk fariabele namme fan 'e rige en de passend syntaksis sil folgje op it punt fan it gebrûk.

Dit is foaral útsprutsen feit yn PHP, mar dit kin tolerearre, lykas, yndie, mei it symboal "$" nei de fariabele namme en de kombinaasje fan "$ this->" binnen it objekt. Tagelyk in adres yn JavaSkriptName en PHP, earst echt fernuvere hoe't alles is oars, mar dan wurdt alles sa fertroud en natuer ...

Associatieve array -> JSON

Yn dit foarbyld, troch PHPOffice / PHPWord bibleteek soarget foar in dokumint * .docx, en in ferskaat oan aProperties befettet it dokumint eigenskippen (skriuwer, bedriuw, titel, kategory, datum, ...).

De twadde rige befettet de data op de side:

  • oriïntaasje (lânskip of normaal);
  • diminsjes horizontaal en fertikaal;
  • streekjes (fjild ferliet, top, ûnderkant, rjochts);
  • Footers.

Foarming fan it dokumint wurdt útfierd op in server wolle dy rint in biblioteek PHPOffice / PHPWord. De side jout de wearden fan it behear fan dizze rigen fia JavaScript. It resultaat is werom yn JSON werom nei de tsjinner, en wurdt brûkt yn de algoritmen yn PHP, yn syn ûntwerpen, dat is yn 'e rigen.

dynamyske fariabelen

JSON opmaak lost it probleem fan de dynamyske fariabelen. Hjir kinne jo oanmeitsje, wizigjen, en wiskje fariabelen sûnder ûnnedige syntactical peallen. It sjocht der prachtich en wurdt brûkt yn JavaScript.

Yn dit foarbyld GetOjInfo () selektearret de namme fan de wearde en it belang fan it foarwerp. Yn it earstoan JSON-string foarwerp is tawiisd oan in fariabele ojInfo, dat hat trije eleminten: Namme, leeftyd en wurk. In bytsje letter tafoege oan de fariabele Status.

Nei de earste operator wiskje ojInfo string ferliest elemint âldens, neidat de twadde delete - elemint wurk. As wy der fan út dat de snaar hat in seleksje fan fariabelen dy't hawwe in spesifike betsjutting, fia JSON kin eins meitsje, feroarjen of fuortsmite ien fan harren sets út 'e sjirurgyske fjild (syntaksis) en JavaSkript beskriuwing taal ferwurkjen.

JSON format op sokke in opsje wie net ûntwurpen, mar it is mooglik, praktysk en handige.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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