Wat is JSON? PHP- en JSON-formaat voor gegevensoverdracht

ECMA-262 1999), het formaat wordt als taalonafhankelijk beschouwd en kan met vrijwel elke programmeertaal worden gebruikt. Voor veel talen is er kant-en-klare code voor het maken en verwerken van gegevens in JSON-formaat. Gebruik

Vanwege de beknoptheid ervan in vergelijking met XML, is het JSON-formaat mogelijk geschikter voor het serialiseren van complexe structuren. Als we het over webapplicaties hebben, is het in deze geest geschikt voor gegevensuitwisselingstaken zowel tussen de browser en de server (AJAX) als tussen de servers zelf (HTTP-software-interfaces).

Omdat JSON een subset van de JavaScript-syntaxis is, kan deze snel worden gedeserialiseerd met behulp van de ingebouwde eval()-functie. Bovendien is het mogelijk om volledig functionele JavaScript-functies in te voegen. In PHP is vanaf versie 5.2.0 JSON-ondersteuning in de kern opgenomen in de vorm van de functies json_decode() en json_encode(), die zelf JSON-gegevenstypen converteren naar de overeenkomstige PHP-typen en omgekeerd.

Syntaxis

JSON-tekst is (in gecodeerde vorm) een van de twee structuren:

  • Aantal paren sleutel:waarde. In verschillende talen wordt dit geïmplementeerd als een object, record, structuur, woordenboek, hashtabel, ingetoetste lijst of associatieve array. De sleutel kan alleen een string zijn, de waarde kan alleen een willekeurige vorm hebben.
  • Een geordende reeks waarden. In veel talen wordt dit geïmplementeerd als een array, vector, lijst of reeks.
  • Dit zijn universele datastructuren: in de regel ondersteunt elke moderne programmeertaal ze in een of andere vorm. Ze vormden de basis van JSON, omdat het wordt gebruikt om gegevens uit te wisselen tussen verschillende programmeertalen.

    De volgende structuren worden gebruikt als waarden in JSON:

  • Een object is een ongeordende set sleutel:waarde-paren tussen accolades "( )". De sleutel wordt beschreven door een string, met een : -symbool tussen de sleutel en de waarde. Sleutel-waardeparen worden gescheiden door komma's.
  • Een array (eendimensionaal) is een geordende reeks waarden. De array staat tussen vierkante haakjes "". Waarden worden gescheiden door komma's.
  • De waarde kan een tekenreeks tussen dubbele aanhalingstekens, een getal, een object, een array of een van de letterlijke waarden zijn: waar, onwaar of null. Dat. Structuren kunnen in elkaar worden genest.
  • Een string is een geordende set van nul of meer Unicode-tekens, tussen dubbele aanhalingstekens. Tekens kunnen worden opgegeven met behulp van escape-reeksen die beginnen met een backslash "\".

    Een string lijkt sterk op het gelijknamige gegevenstype in de C- en Java-talen. Het nummer lijkt ook erg op een C- of Java-nummer, behalve dat het alleen decimale notatie gebruikt. Tussen twee syntactische elementen kunnen spaties worden ingevoegd.

  • In het volgende voorbeeld ziet u een JSON-weergave van een object dat een persoon beschrijft. Het object heeft stringvelden voor de voor- en achternaam, een object dat het adres beschrijft en een array met een lijst met telefoonnummers.

    De belangrijkste methoden voor het werken met JSON in JavaScript zijn:

    • JSON.parse - leest objecten uit een tekenreeks in JSON-indeling.
    • JSON.stringify - verandert objecten in een string in JSON-formaat, gebruikt wanneer u gegevens vanuit JavaScript via het netwerk moet overbrengen.
    1. Inleiding tot de JSON.parse-methode

    Laten we een eenvoudige Tizen-webapplicatie maken en deze aanroepen json1.

    Laten we het bestand invoeren index.html de volgende code:


    Rijst. 27.2.

    Laten we onze scriptcode een beetje veranderen:

    var-nummers = "";


    getallen = JSON.parse(getallen);

    document.write(cijfers);

    Rijst. 27.3.
    Laten we eens kijken naar een interessanter geval:
    var user = "( "naam": "Vasya", "leeftijd": 35, "isAdmin": true, "vrienden": ["Misha", "Masha", "Grisha", "Gulshat"] )";
    gebruiker = JSON.parse(gebruiker);
    strMessage = "Naam: " + gebruiker.naam + "


    " + "Leeftijd: " + user.age + "

    " + "Beheerder: " + user.isAdmin + " " + "Vrienden: " + gebruiker.vrienden + ""; document.write(strBericht); Rijst. 27.4. 2. Maak een object op basis van een JSON-tekenreeks

    Dit voorbeeld is afkomstig van http://www.w3schools.com/js/js_validation.asp. Laten we een project maken

    json2

    . In bestand

    Zoals je kunt zien is $obj->office een array.

    Foreach($obj->office as $val) echo $val;

    Door met JSON te werken, kunt u gegevens uitwisselen met de server in "pure vorm". Het is niet nodig om grote stukken HTML-code te verzenden.