Computers, Programmering
JSON format: omschrijving, voorbeeld
Variabelen, arrays en objecten - een vertrouwde en handige vorm van presentatie van gegevens. Beschrijf de maatregelen die in de browser in JavaScript die niet noodzakelijkerwijs PHP server doen data. JSON-formaat kunt u ze samen te stellen tot één geheel, en niet te concentreren op de programmeertaal. De gegevens worden omgezet in een paar "name = value". De waarde in elk daarvan kan ook een verzameling van deze paren zijn.
Aangenomen JSON geassocieerd met beugels en JavaScript-objecten. Dat laatste is zeer gerechtvaardigd, omdat JSON = Object Notation JavaScript-formaat. In de afgelopen jaren, in het bijzonder dynamische, is er veel veranderd. Dat is gemaakt voor een specifiek doel, brengt vaak onverwachte resultaten en opende nieuwe horizonten.
De uitwisseling van gegevens: de browser - server
AJAX-technologie heeft de traditionele, normaal updaten uitgegroeid tot de hele pagina is niet langer populair. De bezoeker, het openen van de site, initieert een reeks van gedeeltelijke uitwisseling van gegevens, wanneer sommige pagina's alleen variëren in de plaats die is te laat.
Zij was van mening dat de verschijning JSON die ermee verbonden zijn AJAX, maar eigenlijk associatieve JavaScript arrays en Object Notation (vooral syntax beschrijving en gebruik van objecten) zijn nog veel meer te maken met de verhouding van JSON, dan uitwisseling van gegevens tussen de browser en de server.
Aangezien de inhoud van de pagina's van de hedendaagse websites echt "massale" is uitgegroeid tot (surround), en de effectiviteit van het formaat voor de uitwisseling van gegevens op zich heeft genomen speciale betekenis. We kunnen niet zeggen dat was de nieuwe JSON representatie van de gegevens, maar het feit dat hij al lang JavaScript syntax element geweest is van essentieel belang.
Het gebruik van het Cyrillische alfabet bij het benoemen van variabelen - zeer onverwacht fenomeen (onzin), maar het werkt in recente versies van Chrome, Firefox, en zelfs, in Internet Explorer 11.
Cyrillische en JSON
Natuurlijk, om een geheel onverwacht fenomeen gebruiken, is niet goed te beseffen hoe gemakkelijk de waarden van de variabelen opgenomen in Russische letters, omgezet in brabbeltaal, wat kan ik zeggen over de namen, met name buitenlandse.
Het is twijfelachtig dat het initiatief ter ondersteuning van Cyrillische namen buiten de browser-omgeving, waarmee hij voortdurend te maken hebben met. Maar dit feit verdient aandacht om de eenvoudige reden dat de JSON-formaat - het is een kans om de namen en waarden te schrijven als je wilt naar de ontwikkelaar. Dit is belangrijk omdat in elke probleemstelling toepassingsgebied zoals vereist, vereenvoudigt het zuiveren en reduceert fouten.
Het maakt niet uit wat voor soort had een base syntactische innovatie - JSON, is het belangrijk dat het gaf een wettelijk recht en een echte kans om de lijn te zetten: "elke name = geen geld."
We moeten hulde te brengen aan de JavaScript-taal: dat syntax biedt niet de ontwikkelaar nodig hebben en dat het niets te leggen. Ontwikkelaar maakt gebruik van vrij taalsyntaxis voor een optimale vorming van het datamodel en het algoritme die ze gebruiken.
PHP en JSON
Het nemen van gegevens in JSON-formaat, de server (via PHP, in het bijzonder) hen in staat stelt te behandelen zoals het is en het resultaat terug te keren naar de browser in hetzelfde formaat. Bronrangschikking PHP:
- $ CJSON = array ( "a" => "alfa", "b" => "beta", "g" => "y").
Het omzetten van een JSON formaat voor de indiening van de browser:
- $ CJs = json_encode ($ cJSON) .
resultaat:
- { "A": "alfa" , "b": "beta", "g": "gamma"}.
Toegestane getoond in foto nestelen.
Hier gevormd door de matrix een nieuwe element "zichzelf" werd onder automatische index "0", en dan weer met deze "z" index.
Inverse Function - json_decode () zet een JSON string in een PHP array. Vergelijkbare resultaten kunnen worden bereikt door het manipuleren van de PHP-functies: implode () en exploderen (). In sommige gevallen is deze optie heeft de voorkeur.
nestniveau
De elementen kunnen in elkaar geneste de zijde van de browser of server. In de praktijk JSON formaat (beschrijving RFC 4627-standaard) zorgt voor significant meer dan 4 niveaus van nesten, maar moet deze mogelijkheid niet misbruiken.
Het beste is om nooit verder gaan dan de grenzen van het redelijke toereikendheid, het maakt de code leesbaar, gemakkelijker te debuggen en het begrip van andere ontwikkelaars.
JSON kan worden uitgevoerd om de data structuren die de XML gemakkelijker, zowel mensen als computers begrepen. Dat is waar, wanneer de hoeveelheid data klein is en de nesting niveau van de ontwikkelaar wijselijk. In alle andere gevallen, tel het aantal beugels en inzicht in de structuur van de gegevens is moeilijk als de browser-side en server-side.
JSON-bestanden
Toepassing van JSON in de praktijk vaak is niet beperkt tot de perceptie van de beschikbare korte string. Elke datastructuur zijn altijd pragmatisch. Op hetzelfde JSON effectief kunnen worden toegepast in de echte gegevens van het probleem (staatsbedrijf), alsook voor de uitvoering van tijdelijke gegevens (cache object).
Staatsbedrijven en JSON-formaat: Voorbeeld
Normaal gesproken, het opnemen van ongeveer één persoon - een naam, voornaam, geboortedatum, beroep, opleiding, ... en nog een paar bescheiden waarden. Zelfs in de meest veeleisende bedrijven record van een persoon niet meer dan een dozijn of twee velden. Deze waarneming is beschikbaar en kan in een database rij geplaatst.
Als het bedrijf een aantal mensen in dienst - is één ding, maar als tienduizenden - is iets heel anders. U kunt doorgaan met de database te gebruiken, maar het houden van het in een bestand ziet er meer praktische en meer betaalbaar te gebruiken.
Bestandsformaat JSON - een platte tekst bestand. De zaak van de personele, oke. Lees het is altijd mogelijk. Open en verandering is ook beschikbaar in een tekst editor die niet de gewoonte om hun eigen informatie in het dossier content toe te voegen heeft. In het algemeen * .json - het is pure tekst in de browser, en in het bestand - string.
De afbeelding toont een cache object, die een beeld voorbeeld.
Dit is een voorbeeld van het bestand gegenereerde inhoud sites die kleurendruk volume op mokken en keramiek. Natuurlijk, om te besluiten met een JSON-opgemaakte u het opent, echt problematisch. Echter, in deze en soortgelijke gevallen, problemen met het lezen van een bestand ontstaat: PHP leest het bestand, ontleedt het en stuurt naar de browser. Veranderde bezoeker gegevens worden geretourneerd naar de server en teruggenomen.
In deze uitvoeringsvorm, het gebruik van het bestand verschijnt als een variabele die buiten de code wordt opgeslagen. Eventueel wordt de variabele de waarde van het bestand toegewezen, en als het wordt veranderd door de bezoeker aan de dialoog, waarin de plaats worden alle wijzigingen geregistreerd is. Geen behoefte om te lezen en te controleren of de inhoud van het bestand.
JSON wordt vaak gebruikt voor de opslag en het gebruik van vertrouwelijke informatie - is niet personeelsbezetting, is het niet nodig om ofwel de ontwikkelaar of bezoeker van de site te zien.
XML en JSON
"Alles op zijn tijd" - klassieke kennis, vanzelfsprekend nog voor programmering. "Niet dat er niet alleen" - dit was ook voor mensen schreven de eerste begrijpelijk programma in een kunstmatige taal.
dataformaten op de werkelijke behoeften en zijn gebaseerd op de verworven kennis. In HTML - zijn pad, in XML - heeft zijn eigen manier, en JSON - JavaScript Object is logisch uitgebreid naar andere talen. Te vergelijken met elkaar is niet de beste bezetting. Ieder zijn eigen.
XML heerlijk omgaan met hun taken en de geschiedenis ingaan is duidelijk niet van plan om. Een JSON werd gebruikt tot 2006, maar niet elke ontwikkelaar heeft het zijn plicht geacht te verklaren bepaalde opties hun gegevens te presenteren.
Er waren gevallen in de praktijk toen BASIC werd programma's JSON niet als zodanig geschreven, maar perfect opslaan paren "name = value" en deze beschikbaar maken voor algoritmes te passen op het juiste moment.
Speciale tekens ( «'», «~», «|», ...) en dataformaten
De gewoonte van het werken met associatieve arrays en objecten in JavaScript maakt gebruik JSON natuurlijk en comfortabel. Het is echt een groot formaat, maar de mogelijkheid om te delen en te verbinden, het manipuleren van strings en arrays, heeft veel diepere wortels.
Functies join / split Javascript en imploderen / exploderen PHP taal maakt handig en efficiënt te gebruiken als de XML-data formaat, JSON, en zijn eigen versie. Dat laatste is vaak optimaal is, en de eerste twee zijn ideaal voor algemeen gebruik opties. Als het de overdracht van informatie aan een andere ontwikkelaar, server, naar een bestand of database, XML en JSON is beter niet te vinden. Ze werken allemaal, omdat de transmissie / ontvangst van informatie niet kanttekeningen.
Met behulp van JSON in Android
Lezen en schrijven van gegevens in JSON-formaat in Android - niet alleen de norm van de dingen, maar ook een reeks van objecten, gericht op werken met dergelijke gegevens formaat.
Velen schrijven het fenomenale succes van social networking sites, zodat leden en bezoekers van die sites (Facebook, LinkedIn, Twitter, ...) profiteren van de daar gepubliceerde materialen.
Het gebruikt het om JSON. Misschien is dit waar, maar de vraag is niet in de fenomenale sociale netwerken, maar het feit dat inderdaad het verstrekken van informatie in de vorm van "name = value" is handig voor het programmeren, en voor gebruik. In tegenstelling tot de strikte en complex «XML» het is echt mens-vriendelijk formaat.
associatieve arrays
Zo gebeurde het dat de variabelen moeten worden beschreven (JavaScript) of zelfs een startwaarde (PHP) op te geven. In beide gevallen is de variabele kan haar wijzigen is zeer eenvoudig. Indien nodig kan de taal doet deze conversie automatisch.
Maar waarom niet de variabele veranderen en de naam komt niet voor in de prestaties van het algoritme en niet verdwijnt wanneer de behoefte want het zal verdwijnen? Associatieve arrays kunnen we dit probleem op te lossen, maar het gebruik van dergelijke relatief dynamische variabele naam van de array en de juiste syntax volgt op het gebruikspunt.
Dit is bijzonder uitgesproken in feite PHP, maar dit kan worden getolereerd, zoals inderdaad met het symbool "$" naar de variabele naam en de combinatie van "$ this->" binnen het object. Gelijktijdig programmeren in JavaScript en PHP, de eerste echt verbaasd over hoe alles is anders, maar dan wordt alles zo vertrouwd en natuurlijk ...
Associatieve array -> JSON
In dit voorbeeld, door PHPOffice / PHPWord bibliotheek zorgt voor een document * .docx, en een scala aan aProperties bevat het document eigenschappen (auteur, bedrijf, titel, categorie, datum, ...).
De tweede rij bevat de gegevens op de pagina:
- (staand of normaal);
- afmetingen horizontaal en verticaal;
- streepjes (veld links, boven, onder, rechts);
- voetteksten.
Vorming van het document wordt uitgevoerd op een server waarop een bibliotheek PHPOffice / PHPWord. De site geeft de waarden van het beheer van deze arrays door middel van JavaScript. Het resultaat wordt teruggegeven in JSON terug naar de server en wordt gebruikt in de algoritmen in PHP, in zijn ontwerpen, dat wil zeggen in de arrays.
dynamische variabelen
JSON formaat lost het probleem van de dynamische variabelen. Hier kunt u maken, wijzigen en variabelen te verwijderen zonder onnodige syntactische palen. Het ziet er prachtig uit en wordt gebruikt in JavaScript.
In dit voorbeeld GetOjInfo () selecteert de naam van de waarde en het belang van het object. Aanvankelijk JSON-string object wordt toegewezen aan een variabele ojInfo, het heeft drie elementen: Naam, leeftijd en werk. Even later toegevoegd aan de variabele status.
Na de eerste operator te verwijderen ojInfo draad verliest element leeftijd, na de tweede delete - element werk. Als we aannemen dat de string heeft een selectie van variabelen die een specifieke betekenis hebben, door middel van JSON daadwerkelijk kan maken, wijzigen of een van hun sets van de chirurgische veld (syntaxis) en JavaScript description language processing te verwijderen.
JSON formaat op een dergelijke optie niet is ontworpen, maar het is mogelijk, praktisch en handig.
Similar articles
Trending Now