Json-tiedot tavallisen lomakkeen kautta. JSON-tietojen luominen ja jäsentäminen PHP:ssä. Paikkamerkkiobjektin luominen

Mikä on JSON ja mitä se voi tehdä? Tässä artikkelissa opit käyttämään JSONia tietojen käsittelyyn helposti. Tarkastellaan myös, kuinka työskennellä JSONin kanssa PHP:n ja JavaScriptin avulla.

Jos olet kehittänyt verkkosivustoja tai verkkosovelluksia yleensä, olet todennäköisesti kuullut JSONista, ainakin ohimennen. Mutta mitä JSON tarkalleen ottaen tarkoittaa? Mitä tämä tietomuoto voi tehdä ja miten sitä voidaan käyttää?

Tässä artikkelissa opimme json-muodon käytön perusteet. Seuraamme seuraavia aiheita:

  • Mikä on JSON-muoto?
  • Miten luodaan JSON-merkkijonoja?
  • Yksinkertainen esimerkki JSON-tiedoista
  • Vertaa JSONia XML:ään

Aloitetaan!

Mikä on JSON-muoto?

JSON on yksinkertainen, tekstipohjainen tapa tallentaa ja lähettää strukturoitua dataa. Yksinkertaisella syntaksilla voit helposti tallentaa sekä yksinkertaisia ​​numeroita ja merkkijonoja että taulukoita ja objekteja käyttämällä vain tekstiä. Voit myös linkittää objekteja ja taulukoita, jolloin voit luoda monimutkaisia ​​tietorakenteita.

Kun JSON-merkkijono on luotu, se voidaan helposti lähettää mihin tahansa sovellukseen tai tietokoneeseen, koska se on vain tekstiä.

JSON:lla on monia etuja:

  • Se on kompakti
  • Se on ihmisten luettavissa ja helposti luettavissa tietokoneilla
  • Se voidaan helposti muuntaa ohjelmistomuotoihin: numeeriset arvot, merkkijonot, boolen muoto, nolla-arvo, taulukot ja assosiatiiviset taulukot.
  • Lähes kaikissa ohjelmointikielissä on toimintoja, joiden avulla voit lukea ja luoda json-tietomuotoa.

Kirjaimellisesti lyhenne JSON tarkoittaa JavaScript Object Notationia. Kuten aiemmin on kuvattu, tämä muoto perustuu objektien luomiseen, joka on samanlainen kuin assosiatiiviset taulukot muissa ohjelmointikielissä.

Mihin tarkoituksiin JSONia käytetään?

Ennen kaikkea jsonia käytetään tietojen vaihtamiseen JavaScriptin ja palvelinpuolen (php) välillä. Toisin sanoen ajax-teknologialle. Tämä on erittäin kätevää, kun välität useita muuttujia tai kokonaisia ​​tietoryhmiä.

Tältä se näyttää esimerkissä:

  • Käyttäjä klikkaa pikkukuvaa
  • JavaScript käsittelee tämän tapahtuman ja lähettää ajax-pyynnön PHP-skriptille välittäen kuvatunnuksen.
  • Palvelimella php saa tietokannasta kuvan kuvauksen, kuvan nimen, suuren kuvan osoitteen ja muuta tietoa. Saatuaan sen, se muuntaa sen JSON-muotoon ja lähettää sen takaisin käyttäjän sivulle.
  • JavaScript vastaanottaa vastauksen JSON-muodossa, käsittelee tiedot, luo html-koodin ja näyttää suurennetun kuvan kuvauksen ja muiden tietojen kera.
  • Näin kuva suurennetaan lataamatta sivua uudelleen selaimeen. Tämä on erittäin kätevää, kun meidän on vastaanotettava osittaisia ​​tietoja tai siirrettävä pieni määrä tietoa palvelimelle.

    Kaikkien suosikki jQueryssa on getJSON()- ja parseJSON()-funktiot, jotka auttavat sinua käsittelemään muotoa ajax-pyyntöjen kautta.

    Miten luodaan JSON-merkkijonoja?


    Alla on perussäännöt JSON-merkkijonojen luomiseen:

    • JSON-merkkijono sisältää sekä joukon arvoja että objektin (assosiatiivinen matriisi, jossa on nimi/arvo-pareja).
    • Taulukko on käärittävä hakasulkeisiin [ ja ], ja se voi sisältää luettelon arvoista, jotka on erotettu pilkulla.
    • Objektit on kääritty käyttämällä kiharavarsia ( ja ), ja ne sisältävät myös koomalla erotetut nimi/arvo-parit.
    • Nimi/arvo-parit koostuvat kentän nimestä (lainausmerkeissä), jota seuraa kaksoispiste (:), jota seuraa kentän arvo.
    • Taulukon tai objektin arvot voivat olla:
      • Numeerinen (kokonaisluku tai pisteluku)
      • Merkkijonot (kiedottu lainausmerkkeihin)
      • Boolen arvo (tosi tai epätosi)
      • Muut taulukot (hakasulkeissa [ ja ])
      • Muut esineet (käärittynä kiharaisiin käsivarsiin ( ja ))
      • Nolla-arvo

    Tärkeä! Jos käytät arvoissa lainausmerkkejä, käytä kenoviivaa: \". Voit myös käyttää hex-koodattuja merkkejä, aivan kuten muissakin ohjelmointikielissä.

    Yksinkertainen esimerkki JSON-tiedoista

    Seuraava esimerkki näyttää, kuinka voit tallentaa tietoja verkkokaupan "kärryyn" JSON-muodossa:

    ("tilaustunnus": 12345, "shopperName": "John Smith", "shopperEmail": " [sähköposti suojattu]", "contents": [ ( "productID": 34, "productName": "SuperWidget", "quantity": 1 ), ( "productID": 56, "productName": "WonderWidget", "quantity": 3 ) ], "tilausCompleted": tosi )

    Jaetaan nämä tiedot pala kerrallaan:

  • Alussa ja lopussa käytämme kiharoita käsivarsia ( ja ) tehdäksemme selväksi, että tämä on esine.
  • Objektin sisällä meillä on useita nimi/arvo-pareja:
  • "orderID": 12345 - kenttä nimeltä orderId ja arvo 12345
  • "shopperName": "John Smith" - kenttä nimeltä shopperName ja arvo John Smith
  • "shopperEmail": "johnsmith@ example.com" - kuten edellisessä kentässä, ostajan sähköposti tallennetaan tähän.
  • "sisältö": [ ... ] - sisältö nimeltä kenttä, jonka arvo on taulukko.
  • "orderCompleted": true - kenttä nimeltä orderCompleted, jonka arvo on tosi
  • Sisältötaulukon sisällä meillä on kaksi objektia, jotka näyttävät ostoskorin sisällön. Jokaisella tuoteobjektilla on kolme ominaisuutta: tuotetunnus, tuotteen nimi, määrä.
  • Lopuksi, koska JSON on identtinen JavaScriptin objektien kanssa, voit helposti ottaa tämän esimerkin ja luoda siitä JavaScript-objektin:

    var cart = ("tilaustunnus": 12345, "shopperName": "John Smith", "shopperEmail": " [sähköposti suojattu]", "contents": [ ( "productID": 34, "productName": "SuperWidget", "quantity": 1 ), ( "productID": 56, "productName": "WonderWidget", "quantity": 3 ) ], "tilausCompleted": tosi );

    Vertaa JSONia XML:ään

    Useimmissa tapauksissa ajattelet JSON:ia vaihtoehtona XML:lle - ainakin verkkosovelluksissa. Ajax-konsepti käyttää alun perin XML:ää tiedon vaihtamiseen palvelimen ja selaimen välillä, mutta viime vuosina JSONista on tullut suositumpi Ajax-tietojen siirtämisessä.

    Vaikka XML on kokeiltu ja testattu tekniikka, jota monet sovellukset käyttävät, JSON-muodon etuna on, että se on kompaktimpi ja helpompi kirjoittaa ja lukea.

    Tässä on yllä oleva JSON-esimerkki, joka on vain kirjoitettu uudelleen XML-muodossa:

    tilaustunnus 12345 shopperName John Smith shopperSähköposti [sähköposti suojattu] sisältö tuoteID 34 tuoteNimi SuperWidget määrä 1 tuoteID 56 tuotenimi WonderWidget määrä 3 tilausCompleted true

    Kuten näet, se on useita kertoja pidempi kuin JSON. Itse asiassa tämä esimerkki on 1128 merkkiä pitkä, kun taas JSON-versio on vain 323 merkkiä. XML-versio on myös vaikeampi lukea.

    Tietenkään ei voi arvioida vain yhden esimerkin perusteella, mutta pienetkin tietomäärät vievät vähemmän tilaa JSON-muodossa kuin XML-muodossa.

    Kuinka työskennellä JSONin kanssa PHP:n ja JS:n kautta?

    Nyt tulemme mielenkiintoisimpaan asiaan - JSON-muodon käytännön puoleen. Ensin on kunnioitettava JavaScriptiä, ja sitten katsotaan, kuinka voit käsitellä JSON:ia PHP:n kautta.

    JSON-muodon luominen ja lukeminen JavaScriptin avulla


    Vaikka JSON-muoto on yksinkertainen, manuaalinen kirjoittaminen on vaikeaa verkkosovelluksia kehitettäessä. Lisäksi sinun on usein muutettava JSON-merkkijonot muuttujiksi ja käytettävä niitä sitten koodissasi.

    Onneksi monet ohjelmointikielet tarjoavat työkaluja JSON-merkkijonojen kanssa työskentelemiseen. jonka pääidea:

    Jos haluat luoda JSON-merkkijonoja, aloitat muuttujilla, jotka sisältävät joitakin arvoja, ja välität ne sitten funktion läpi, joka muuttaa tiedot JSON-merkkijonoksi.

    Kun luet JSON-merkkijonoja, aloitat JSON-merkkijonosta, joka sisältää tiettyjä tietoja, välität merkkijonon funktion läpi, joka luo tiedot sisältävät muuttujat.

    Katsotaanpa, miten tämä tehdään JavaScriptissä.

    JSON-merkkijonon luominen JavaScript-muuttujasta

    JavaScriptissä on sisäänrakennettu menetelmä, JSON.stringify(), joka ottaa JavaScript-muuttujan ja palauttaa json-merkkijonon, joka edustaa muuttujan sisältöä. Käytetään esimerkiksi aiemmin luotua objektia ja muunnetaan se JSON-merkkijonoksi.

    var cart = ("tilaustunnus": 12345, "shopperName": "John Smith", "shopperEmail": " [sähköposti suojattu]", "contents": [ ( "productID": 34, "productName": "SuperWidget", "quantity": 1 ), ( "productID": 56, "productName": "WonderWidget", "quantity": 3 ) ], "orderCompleted": true hälytys (JSON.stringify(ostoskori));

    Tämä näkyy näytöllä:

    ("orderID":12345,"shopperName":"John Smith","shopperEmail":" [sähköposti suojattu]", "contents":[("productID":34,"productName":"SuperWidget","quantity":1), ("productID":56,"productName":"WonderWidget","quantity":3) ], "orderCompleted":true)

    Huomaa, että JSON.stringify() tulostaa JSON-merkkijonoja ilman välilyöntejä. Sitä on vaikea lukea, mutta se on kompaktimpi, mikä on tärkeää dataa lähetettäessä.

    JavaScript-muuttujan luominen JSON-merkkijonosta

    JSON-merkkijonojen jäsentämiseen on useita tapoja, joista hyväksyttävin ja turvallisin on käyttää JSON.parse()-menetelmää. Se ottaa JSON-merkkijonon ja palauttaa JavaScript-objektin tai -taulukon, joka sisältää JSON-tiedot. Tässä on esimerkki:

    var jsonString = " \ ( \ "tilaustunnus": 12345, \ "shopperName": "John Smith", \ "shopperEmail": " [sähköposti suojattu]", \ "sisältö": [ \ ( \ "tuotetunnus": 34, \ "tuotenimi": "SuperWidget", \ "määrä": 1 \), \ ( \ "tuotetunnus": 56, \ "tuotenimi": " WonderWidget", \"määrä": 3\ ) \ ], \"orderCompleted": tosi \ ) \"; var cart = JSON.parse(jsonString); alert(cart.shopperSähköposti); alert(cart.contents.productName);

    Täällä loimme muuttujan, jsonString, joka sisältää JSON-merkkijonon aiemmin toimitetuista esimerkeistä. Sitten välitimme tämän merkkijonon JSON.parse():n kautta luodaksemme JSON-tietoja sisältävän objektin, joka tallennettiin ostoskorimuuttujaan. Lopuksi tarkistamme tietojen saatavuuden ja näytämme joitain tietoja hälytysmodaaliikkunan avulla.

    Seuraavat tiedot näytetään:

    Oikeassa verkkosovelluksessa JavaScript-koodisi pitäisi saada JSON-merkkijono vastauksena palvelimelta (AJAX-pyynnön lähettämisen jälkeen), jäsentää merkkijono ja näyttää ostoskorin sisältö käyttäjälle.

    JSON-muodon luominen ja lukeminen PHP:llä


    PHP:ssä, kuten JavaScriptissä, on toimintoja, joiden avulla voit muuntaa muuttujat JSON-muotoon ja päinvastoin. Katsotaanpa niitä.

    JSON-merkkijonon luominen PHP-muuttujasta

    Json_encode() ottaa PHP-muuttujan ja palauttaa JSON-merkkijonon, joka edustaa muuttujan tietoja. Tässä on esimerkkimme PHP:llä kirjoitetusta "kärrystä":

    Tämä koodi tuottaa täsmälleen saman tuloksen kuin JavaScript-esimerkki - kelvollinen JSON-merkkijono, joka edustaa muuttujien sisältöä:

    ("orderID":12345,"shopperName":"John Smith","shopperEmail":" [sähköposti suojattu]","contents":[("productID":34,"productName":"SuperWidget","quantity":1),("productID":56,"productName":"WonderWidget","quantity":3) ]"orderCompleted":true)

    Todellisuudessa PHP-skriptisi pitäisi lähettää JSON-merkkijono vastauksena AJAX-pyyntöön, jossa JavaScript muuttaa merkkijonon muuttujiksi JSON.parse():n avulla.

    Funktiossa json_encode() voit määrittää lisäparametreja, joiden avulla voit muuntaa joitain merkkejä heksadesimaalimuotoisiksi.

    PHP-muuttujan luominen JSON-merkkijonosta

    Kuten yllä, on json_decode()-funktio, jonka avulla voit purkaa JSON-merkkijonoja ja laittaa sisällön muuttujiin.

    Kuten JavaScript, tämä koodi tulostaa seuraavat tiedot:

    [sähköposti suojattu] WonderWidget

    Oletusarvoisesti json_decode() palauttaa JSON-objektit PHP-objekteina. Tavallisen syntaksin tapaan käytämme -> päästäksemme kohteen ominaisuuksiin.

    Jos haluat myöhemmin käyttää tietoja assosiatiivisena taulukkona, välitä toinen parametri tosi json_decode()-funktiolle. Tässä on esimerkki:

    $cart = json_decode($jsonString, tosi); echo $cart["shopperEmail"] . "
    "; echo $cart["contents"]["productName"] . "
    ";

    Tämä tuottaa saman tuloksen:

    [sähköposti suojattu] WonderWidget

    Voit myös välittää lisäargumentteja json_decode()-funktiolle suurten lukujen käsittelyn ja rekursion määrittämiseksi.

    Lopuksi JSON-muodosta

    Jos aiot luoda verkkosovelluksen Ajax-tekniikalla, käytät varmasti JSON-muotoa tietojen vaihtamiseen palvelimen ja selaimen välillä.


    JSON on ollut osa ECMAScript-standardia vuodesta 1999, jolloin ECMA määritteli eval()-funktion käsittelemään muotoa. Se alkoi saada suosiota Ajaxin kasvavan menestyksen myötä. Sana JSON tulee usein esiin, kun joku puhuu Ajaxista. Tiedetään, että JSON on erilainen tietomuoto, että se korvaa XML:n ja että monet ohjelmoijat tukevat sitä aktiivisesti. Mutta mikä JSON oikein on ja mitä hyötyä siitä on?

    Miksi JSON?

    JSONin etuna on, että JavaScript jäsentää sen. Asiakirjaa ei tarvitse jäsentää, kuten XML:n tapauksessa, tietojen siirtämiseksi Internetin kautta.

    JSON ja XML

    JSONin edut:

    • Helppo lukea ja ymmärtää.
    • Helppokäyttöinen.

    XML:n edut:

    • On laajennusvaihtoehtoja

    Sekä XML:llä että JSON:lla on kyky integroida suuria tietomääriä binäärimuodossa.

    JSON-syntaksi

    JSON-komponentit:

    • Objektit: Sisältää objekteja tai attribuutteja.
    • Skalaarimuuttujat: numero, merkkijono, looginen muuttuja.
    • Array.
    • Kirjaimelliset arvot: tyhjä, totta, väärä, "merkkijono" ja numeeriset arvot.
    Esine

    Sisältää elementin tai elementtiluettelon, jossa jokainen elementti on kuvattu seuraavasti:

    "nimi" : "arvo"

    Objektin syntaksi:

    (elementti, elementti, ....)

    Array

    Joukko arvoja erotettuna pilkulla.

    [tarkoitus, merkitys, ....]

    Merkitys

    Arvo voi olla: objekti, taulukko, kirjaimellinen arvo (merkkijono, numero, totta, väärä, tyhjä).

    Et tarvitse mitään muuta JSON-tiedoston luomiseen!

    Esimerkki JSON-tiedostosta

    Yksinkertainen esimerkki valikkorakenteesta. Tämä objekti sisältää attribuutteja ja taulukon, joka sisältää muita valikkorivin objekteja.

    ( "menu": "Tiedosto", "komennot": [ ( "otsikko": "Uusi", "toiminto": "CreateDoc" ), ( "title": "Avaa", "toiminto": "OpenDoc" ), ( "title": "Close", "action": "CloseDoc") ] ) XML-vastaava: Tiedosto Uusi CreateDoc Avaa OpenDoc Sulje CloseDoc

    Kuinka käyttää muotoa

    JSON-tiedoston avulla voit ladata tietoja palvelimelta tai palvelimelle. Esimerkiksi käyttäjän juuri täyttämän lomakkeen sisällön tallentaminen. Prosessi sisältää kolme vaihetta: selaimen käsittelyn, palvelinkäsittelyn ja tiedonvaihdon niiden välillä.

    Asiakasosa (selain)

    Tämä osa on melko helppo, koska JSON on osa JavaScript-määrittelyä. Tiedoston sisältö tai määrittelydata liitetään muuttujiin ja niistä tulee ohjelmaobjekteja.

    Palvelimen osa

    JSON-tiedostoa käyttävät useat ohjelmointikielet, mukaan lukien PHP ja Java, koska siinä on jäsentimiä, joiden avulla voit noutaa sisällön ja jopa muuntaa sen kielen luokiksi ja attribuutteiksi. JSON-verkkosivustolta löydät jäsentimiä useille ohjelmointikielille.

    Tiedonvaihto
    • käyttämällä XMLHttpRequest-ohjelmaa.

    JSON-tiedostoa käsittelee JavaScript-funktio eval(). Tiedoston lähettäminen palvelimelle voidaan tehdä käyttämällä XMLHttpRequest-ohjelmaa. Tiedosto lähetetään tekstitiedostona ja sen käsittelee palvelimella käytettävä ohjelmointikielen jäsentäjä.

    Esimerkki

    XMLHttpRequest-koodi:

    Var req = uusi XMLHttpRequest(); req.open("GET", "tiedosto.json", true); req.onreadystatechange = omaKoodi; // Käsittelijä req.send(null);

    JavaScript-käsittelijä:

    Funktio myCode() ( if (req.readyState == 4) ( var doc = eval("(" + req.responseText + ")"); ) ) Tiedon käyttö: var menuName = document.getElementById("jsmenu"); // etsi kenttä menuName.value = doc.menu.value; // määritä arvo kentälle Tietojen saaminen: doc.commands.title // lue "otsikko"-kentän arvo taulukosta doc.commands.action // lue "action"-kentän arvo joukko

    JavaScriptin avulla voimme paitsi lisätä vuorovaikutteisuutta verkkosivuille, myös sen avulla voidaan suorittaa tehtäviä, jotka olivat aikoinaan palvelimien vastuulla. JSON tarjoaa helpon tavan luoda ja tallentaa strukturoitua dataa JavaScriptissä. JSON on erittäin suosittu ja loistava vaihtoehto XML:lle. JSON (JavaScript Object Notation), kuten nimestä voi päätellä, perustuu JavaScript-objektien luomiseen. JavaScript-objekteja voidaan helposti käsitellä ja jäsentää käyttämällä samaa JavaScriptiä.

    Toisin kuin XML, JSON-lauseet muodostavat helposti sekä ihmiset että tietokoneet. JSON-muodossa olevat tiedot voidaan määrittää esimerkiksi muuttujaan (näin luomme objektin); nämä tiedot voidaan sitten lukea juuri luodun objektin läpi.

    var data=( "etunimi" : "Ray"); hälytys(data.etunimi);

    Ensin luomme muuttujan tietojemme säilyttämiseksi, ja sitten käytämme JSON:ia objektin määrittämiseen. Tavoitteemme on melko yksinkertainen: etunimi-kenttä ja säteen arvo. JSONin merkkijonot on suljettava lainausmerkkien sisällä. Jos käytät numeroita, lainausmerkit ovat valinnaisia.

    Tämä esimerkki näyttää etunimi-ominaisuuden arvon selaimessa.

    Paikkamerkkiobjektin luominen

    Luodaan realistisempi esimerkki: lisää JSON-tietomme DOM-objektiin.

    var data=("etunimi":"Ray"); document.getElementById("placeholder").innerHTML=data.firstName;

    Nyt varoituksen sijaan laitamme tiedot HTML-elementin sisään. JSON-tiedot voivat tietysti olla paljon monimutkaisempia. Yritetään lisätä muutama kenttää.

    data=( "etunimi":"Ray", "sukunimi":"Villalobos", "liittynyt":2012 ); document.getElementById("placeholder").innerHTML=data.firstName+" "+data.sukunimi+" "+data.joined;

    Huomaa, että JSON-tiedot on muotoiltu tietyllä tavalla ymmärtämisen helpottamiseksi. "Liittynyt"-kentän arvo on 2012, mikä ei vaadi lainausmerkkejä, koska se on numero. Katsotaanpa jotain monimutkaisempaa.

    Taulukkojen lisääminen

    Entä jos haluamme syöttää ryhmän ihmisiä... silloin meidän on käytettävä taulukoita. JSONin taulukko voidaan luoda hakasulkeilla. Katsotaan, miltä tietomme näyttävät useilta käyttäjiltä.

    Var data=("users":[ ( "etunimi":"Ray", "sukunimi":"Villalobos", "liittynyt":2012 ), ( "etunimi":"John", "sukunimi":"Jones", "joined":2010 ) ]) document.getElementById("placeholder").innerHTML=data.users.firstName + " " + data.users.lastName+" "+ data.users.joined;

    Näyttää hieman monimutkaiselta, mutta ei itse asiassa vaikea ymmärtää. JSON-objekti luodaan aaltosulkeiden avulla; taulukko luodaan hakasulkeilla. Tietojemme järjestämiseksi loimme käyttäjäobjektin, johon sijoitimme taulukon. Taulukko sisältää muita objekteja. Jokainen (nimi/arvo) -pari erotetaan pilkulla.

    Huomaa, kuinka nimen lisäämisen koodi on muuttunut. Yhdistimme uudet käyttäjät -objektin ja käytimme sitten hakasulkeita osoittamaan taulukon ensimmäistä elementtiä. Lisätään vielä yksi taso tietojemme rakenteeseen.

    Var data=("users":[ ( "etunimi":"Ray", "sukunimi":"Villalobos", "liittyi": ( "kuukausi":"tammikuu", "päivä":12, "vuosi":2012 ) ), ( "etunimi":"John", "sukunimi":"Jones", "joined": ( "kuukausi":"huhtikuu", "päivä":28, "vuosi":2010 ) ) ]) asiakirja. getElementById("placeholder").innerHTML=data.users.firstName + " " + data.users.lastName+"--"+ data.users.joined.month;

    Yhdistetty ominaisuus sisältää nyt objektin, jossa on useita kenttiä; Matriisia ei tarvitse käyttää, joten käytämme objektimerkintää. Nyt meillä on tietoja useista käyttäjistä, on aika käydä läpi jokainen käyttäjä ja näyttää ne luettelossa.

    Käyttäjäluettelon toteuttaminen (JSON-objektin läpi kulkeminen)

    Joten, käytetään javascriptiä ja luodaan käyttäjäluettelo.

    Muuttujan tiedot = ( "käyttäjät":[ ( "etunimi":"Ray", "sukunimi":"Villalobos", "liittyi": ( "kuukausi":"tammikuu", "päivä":12, "vuosi":2012 ) ), ( "firstName":"John", "lastName":"Jones", "joined": ( "kuukausi":"huhtikuu", "päivä":28, "vuosi":2010 ) ) ]) var output ="

      "; ) output+="
    "; document.getElementById("placeholder").innerHTML=tulostus;

    Objektin kaikkien ominaisuuksien iterointia varten on olemassa for..in -konstruktio:

    For(var key in object) ( // avain - ominaisuuden nimi // objekti - ominaisuuden arvo... )

    Tässä käydään läpi kaikki taulukon elementit; tallennamme tiedot tulosmuuttujaan ja sijoitamme tiedot elementtiin, jonka id on yhtä suuri kuin paikkamerkki . voit kertoa, että tietomme kehittyvät hieman hitaasti.

    Luetaan JSON-tiedostoa ulkoisesta tiedostosta

    Olisi kiva tallentaa tiedot ulkoiseen tiedostoon ja lukea ne tarvittaessa. Aion käyttää jQuery-kirjastoa, joten ensin meidän on sisällytettävä jQuery-kirjasto; sitten kutsumme getJSON-funktiota. Koodimme näyttää tältä:

    JSON-näyte $.getJSON("data.json", function(data) ( var output="

      "; for (var i data.usersissa) ( output+="
    • " + data.users[i].firstName + " " + data.users[i].sukunimi + "--" + data.users[i].joined.month+"
    • "; ) output+="
    "; document.getElementById("paikkamerkki").innerHTML=tulostus; ));

    Se on pitkälti sama koodi, mutta tiedot tuodaan esiin. Päätimme kaiken yksinkertaisesti getJSON-toiminnolla, joka tekee kaiken tiedoston lukemisen kovan työn. Oletetaan, että datatiedosto data.json sijaitsee samassa hakemistossa ja näyttää tältä:

    ("käyttäjät":[ ( "firstName":"Ray", "lastName":"Villalobos", "joined": ( "kuukausi":"tammikuu", "päivä":12, "vuosi":2012 ) ), ( "etunimi":"John", "sukunimi":"Jones", "liittyi": ( "kuukausi":"huhtikuu", "päivä":28, "vuosi":2010 ) ) ])

    Kuten näet, JSON on todella helppolukuinen, ja kun olet tottunut sulkeisiin, se on helppo koodata.

    Jos tietokoneellesi on asennettu virustorjuntaohjelma, voit tarkistaa kaikki tietokoneella olevat tiedostot sekä jokaisen tiedoston erikseen. Voit tarkistaa minkä tahansa tiedoston napsauttamalla tiedostoa hiiren kakkospainikkeella ja valitsemalla sopivan vaihtoehdon tiedoston tarkistamiseksi virusten varalta.

    Esimerkiksi tässä kuvassa tiedosto my-file.json on korostettu, sinun on napsautettava tätä tiedostoa hiiren kakkospainikkeella ja valittava tiedostovalikosta vaihtoehto "skannaa AVG:llä". Kun valitset tämän vaihtoehdon, AVG Antivirus avaa ja tarkistaa tiedoston virusten varalta.


    Joskus virhe voi johtua siitä, että ohjelmisto on asennettu väärin, mikä voi johtua asennuksen aikana havaitusta ongelmasta. Tämä saattaa estää käyttöjärjestelmääsi yhdistämästä JSON-tiedostoasi oikeisiin sovellusohjelmistoihin, mikä vaikuttaa niin kutsuttuihin "tiedostopääteyhdistyksiin".

    Joskus pelkkä Mozilla Firefoxin uudelleenasentaminen voi ratkaista ongelmasi sitomalla JSONin oikein Mozilla Firefoxiin. Muissa tapauksissa ongelmat tiedostojen yhdistämisessä voivat johtua siitä, että kehittäjä on ohjelmoinut ohjelmiston huonosti, ja sinun on ehkä otettava yhteyttä kehittäjään lisäapua varten.


    Vinkki: Yritä päivittää Mozilla Firefox uusimpaan versioon varmistaaksesi, että sinulla on uusimmat korjaustiedostot ja päivitykset.


    Tämä saattaa vaikuttaa liian ilmeiseltä, mutta usein JSON-tiedosto itse voi aiheuttaa ongelman. Jos sait tiedoston sähköpostin liitteenä tai latasit sen verkkosivustolta ja latausprosessi keskeytyy (kuten sähkökatkos tai muu syy), tiedosto saattaa vioittua. Jos mahdollista, yritä hankkia uusi kopio JSON-tiedostosta ja yritä avata se uudelleen.


    Varoitus: Vioittunut tiedosto voi aiheuttaa lisävaurioita tietokoneellesi aiempien tai olemassa olevien haittaohjelmien vuoksi, joten on tärkeää pitää tietokoneesi jatkuvasti käynnissä päivitetty virustorjunta.


    Jos JSON-tiedostosi liittyy tietokoneesi laitteistoon, sinun on ehkä päivitettävä kyseiseen laitteistoon liittyvät laiteajurit avataksesi tiedoston.

    Tämä ongelma liittyy yleensä mediatiedostotyyppeihin, jotka riippuvat tietokoneen sisäisen laitteiston, kuten äänikortin tai näytönohjaimen, onnistumisesta. Jos esimerkiksi yrität avata äänitiedostoa, mutta et voi avata sitä, sinun on ehkä päivitettävä äänikortin ohjaimet.


    Vihje: Jos saat .SYS -tiedostoon liittyvän virheilmoituksen, kun yrität avata JSON -tiedostoa, ongelma saattaa johtua viallisista tai vanhentuneista laiteajureista, jotka täytyy päivittää. Tätä prosessia voidaan helpottaa käyttämällä ohjaimen päivitysohjelmistoa, kuten DriverDoc.


    Jos vaiheet eivät ratkaisseet ongelmaa ja sinulla on edelleen ongelmia JSON-tiedostojen avaamisessa, se voi johtua käytettävissä olevien järjestelmäresurssien puutteesta. Jotkin JSON-tiedostoversiot voivat vaatia huomattavan määrän resursseja (esim. muistia/RAM-muistia, prosessointitehoa) avautuakseen oikein tietokoneellasi. Tämä ongelma on melko yleinen, jos käytät melko vanhaa tietokonelaitteistoa ja samalla paljon uudempaa käyttöjärjestelmää.

    Tämä ongelma voi ilmetä, kun tietokoneella on vaikeuksia pysyä tehtävän mukana, koska käyttöjärjestelmä (ja muut taustalla toimivat palvelut) saattavat kuluttaa liikaa resursseja JSON-tiedoston avaamiseen. Yritä sulkea kaikki sovellukset tietokoneellasi ennen kuin avaat Mozilla Firefox Bookmarks Backup. Kaikkien käytettävissä olevien resurssien vapauttaminen tietokoneeltasi tarjoaa parhaat olosuhteet JSON-tiedoston avaamisyritykselle.


    Jos olet noudattanut kaikkia yllä olevia vaiheita, mutta JSON-tiedosto ei vieläkään avaudu, sinun on ehkä suoritettava laitteistopäivitys. Useimmissa tapauksissa, jopa käytettäessä vanhempia laitteistoversioita, prosessointiteho voi silti olla enemmän kuin riittävä useimmille käyttäjäsovelluksille (ellet tee paljon suoritinintensiivistä työtä, kuten 3D-renderöintiä, taloudellista/tieteellistä mallintamista tai intensiivinen multimediatyö). Siksi on todennäköistä, että tietokoneessasi ei ole tarpeeksi muistia (jota kutsutaan yleisemmin "RAM-muistiksi" tai käyttömuistiksi) tiedoston avaamiseen.

    Json luotiin JavaScriptille (sen koko nimi on JavaScript Object Notation), ja se on tiedonvaihtomuoto.

    Json on löytänyt sen käytön useissa ohjelmointikielissä - esimerkiksi PHP:ssä, jossa se näyttää tältä:

    ["1":"keltainen";"2":"vihreä";"3":"harmaa"]

    Esimerkki osoittaa, että välilyöntejä ei ole, ja nimi ja arvo ovat lainausmerkeissä. Jos pituus sallii, merkkijonoa voidaan käyttää tiedon siirtämiseen GET-menetelmässä.

    Tässä tapauksessa lähetetyllä taulukolla voi olla monitasoinen rakenne. PHP:ssä on joukko json-funktioita, jotka on suunniteltu luomaan ja purkamaan tällaisia ​​merkkijonoja ja toimimaan yksinomaan UTF-8:n kanssa.

    Json_encode in php Tämä toiminto muuntaa objektin, taulukon tai muuttujan json-muotoon. Seuraava esimerkki muuntaa taulukon tähän muotoon. ?> Json_decode in php Tämä toiminto purkaa vastaanotetun merkkijonon ja valitun vaihtoehdon mukaan saamme objektin tai taulukon. Funktiolla on kaksi parametria - pakollinen (salauksen purettava merkkijono) ja valinnainen (jos määrität sen, tulostetaan matriisi, jos ei, objekti). Harkitse seuraavaa esimerkkiä. Tietojen hakeminen luokasta: Tietojen hakeminen taulukosta: Json_last_error in php

    Tällä toiminnolla ei ole parametreja. Se palauttaa arvon, joka tunnistaa virheiden syyn.

    • JSON_ERROR_NONE - Ei virheitä
    • JSON_ERROR_SYNTAX - Syntaksivirhe
    • JSON_ERROR_UTF8 - Virheelliset UTF-8-merkit, mahdollisesti virheellinen koodaus
    • JSON_ERROR_DEPTH – Pinon enimmäissyvyys saavutettu
    • JSON_ERROR_STATE_MISMATCH – Virheellinen tai virheellinen JSON
    • JSON_ERROR_CTRL_CHAR - Ohjausmerkkivirhe, mahdollisesti virheellinen koodaus