JSON - Kurzanleitung
JSON oder JavaScript Object Notation ist ein leichtgewichtiger textbasierter offener Standard, der für den lesbaren Datenaustausch entwickelt wurde. Von JSON verwendete Konventionen sind Programmierern bekannt, darunter C, C ++, Java, Python, Perl usw.
JSON steht für JavaScript Object Notation.
Das Format wurde von Douglas Crockford angegeben.
Es wurde für den lesbaren Datenaustausch entwickelt.
Es wurde von der JavaScript-Skriptsprache erweitert.
Die Dateinamenerweiterung lautet .json.
JSON Internet Media-Typ ist application/json.
Die Uniform Type Identifier lautet public.json.
Verwendung von JSON
Es wird beim Schreiben von JavaScript-basierten Anwendungen verwendet, die Browsererweiterungen und Websites enthalten.
Das JSON-Format wird zum Serialisieren und Übertragen strukturierter Daten über eine Netzwerkverbindung verwendet.
Es wird hauptsächlich zum Übertragen von Daten zwischen einem Server und Webanwendungen verwendet.
Webdienste und APIs verwenden das JSON-Format, um öffentliche Daten bereitzustellen.
Es kann mit modernen Programmiersprachen verwendet werden.
Eigenschaften von JSON
- JSON ist einfach zu lesen und zu schreiben.
- Es ist ein leichtes textbasiertes Austauschformat.
- JSON ist sprachunabhängig.
Einfaches Beispiel in JSON
Das folgende Beispiel zeigt, wie Sie mit JSON Informationen zu Büchern basierend auf Thema und Ausgabe speichern.
{
"book": [
{
"id":"01",
"language": "Java",
"edition": "third",
"author": "Herbert Schildt"
},
{
"id":"07",
"language": "C++",
"edition": "second",
"author": "E.Balagurusamy"
}
]
}
Nachdem wir das obige Programm verstanden haben, werden wir ein anderes Beispiel versuchen. Speichern wir den folgenden Code alsjson.htm - -
<html>
<head>
<title>JSON example</title>
<script language = "javascript" >
var object1 = { "language" : "Java", "author" : "herbert schildt" };
document.write("<h1>JSON with JavaScript example</h1>");
document.write("<br>");
document.write("<h3>Language = " + object1.language+"</h3>");
document.write("<h3>Author = " + object1.author+"</h3>");
var object2 = { "language" : "C++", "author" : "E-Balagurusamy" };
document.write("<br>");
document.write("<h3>Language = " + object2.language+"</h3>");
document.write("<h3>Author = " + object2.author+"</h3>");
document.write("<hr />");
document.write(object2.language + " programming language can be studied " + "from book written by " + object2.author);
document.write("<hr />");
</script>
</head>
<body>
</body>
</html>
Versuchen wir nun, json.htm mit dem IE oder einem anderen Javascript-fähigen Browser zu öffnen, der das folgende Ergebnis liefert:
Weitere Informationen zu JSON-Objekten finden Sie im Kapitel JSON-Objekte.
Lassen Sie uns einen kurzen Blick auf die grundlegende Syntax von JSON werfen. Die JSON-Syntax wird grundsätzlich als Teilmenge der JavaScript-Syntax betrachtet. es enthält die folgenden -
Daten werden in Name / Wert-Paaren dargestellt.
Geschweifte Klammern halten Objekte und auf jeden Namen folgt ':' (Doppelpunkt), die Name / Wert-Paare werden durch (Komma) getrennt.
Eckige Klammern enthalten Arrays und Werte werden durch (Komma) getrennt.
Unten ist ein einfaches Beispiel -
{
"book": [
{
"id": "01",
"language": "Java",
"edition": "third",
"author": "Herbert Schildt"
},
{
"id": "07",
"language": "C++",
"edition": "second",
"author": "E.Balagurusamy"
}
]
}
JSON unterstützt die folgenden zwei Datenstrukturen:
Collection of name/value pairs - Diese Datenstruktur wird von verschiedenen Programmiersprachen unterstützt.
Ordered list of values - Es enthält Array, Liste, Vektor oder Sequenz usw.
Das JSON-Format unterstützt die folgenden Datentypen:
Sr.Nr. | Typ & Beschreibung |
---|---|
1 | Number Gleitkommaformat mit doppelter Genauigkeit in JavaScript |
2 | String Unicode in doppelten Anführungszeichen mit Escape-Schrägstrich |
3 | Boolean richtig oder falsch |
4 | Array eine geordnete Folge von Werten |
5 | Value Es kann eine Zeichenfolge, eine Zahl, wahr oder falsch, null usw. sein |
6 | Object eine ungeordnete Sammlung von Schlüssel: Wert-Paaren |
7 | Whitespace kann zwischen jedem Token-Paar verwendet werden |
8 | null leer |
Nummer
Es ist ein Gleitkommaformat mit doppelter Genauigkeit in JavaScript und hängt von der Implementierung ab.
Oktal- und Hexadezimalformate werden nicht verwendet.
In Number wird kein NaN oder Infinity verwendet.
Die folgende Tabelle zeigt die Nummerntypen -
Sr.Nr. | Typ & Beschreibung |
---|---|
1 | Integer Ziffern 1-9, 0 und positiv oder negativ |
2 | Fraction Brüche wie .3, .9 |
3 | Exponent Exponent wie e, e +, e-, E, E +, E- |
Syntax
var json-object-name = { string : number_value, .......}
Beispiel
Beispiel mit Number Datatype, Wert sollte nicht in Anführungszeichen gesetzt werden -
var obj = {marks: 97}
String
Es handelt sich um eine Folge von null oder mehr doppelt zitierten Unicode-Zeichen, bei denen ein umgekehrter Schrägstrich angezeigt wird.
Zeichen ist eine einzelne Zeichenfolge, dh eine Zeichenfolge mit der Länge 1.
Die Tabelle zeigt verschiedene Sonderzeichen, die Sie in Zeichenfolgen eines JSON-Dokuments verwenden können.
Sr.Nr. | Typ & Beschreibung |
---|---|
1 | " doppeltes Zitat |
2 | \ Backslash |
3 | / Schrägstrich |
4 | b Rücktaste |
5 | f Formularvorschub |
6 | n Neue Zeile |
7 | r Wagenrücklauf |
8 | t horizontale Registerkarte |
9 | u vier hexadezimale Ziffern |
Syntax
var json-object-name = { string : "string value", .......}
Beispiel
Beispiel für einen String-Datentyp -
var obj = {name: 'Amit'}
Boolescher Wert
Es enthält wahre oder falsche Werte.
Syntax
var json-object-name = { string : true/false, .......}
Beispiel
var obj = {name: 'Amit', marks: 97, distinction: true}
Array
Es ist eine geordnete Sammlung von Werten.
Diese sind in eckigen Klammern eingeschlossen, was bedeutet, dass das Array mit beginnt. [. und endet mit.] ..
Die Werte werden durch (Komma) getrennt.
Die Array-Indizierung kann bei 0 oder 1 gestartet werden.
Arrays sollten verwendet werden, wenn die Schlüsselnamen sequentielle Ganzzahlen sind.
Syntax
[ value, .......]
Beispiel
Beispiel für ein Array mit mehreren Objekten -
{
"books": [
{ "language":"Java" , "edition":"second" },
{ "language":"C++" , "lastName":"fifth" },
{ "language":"C" , "lastName":"third" }
]
}
Objekt
Es ist eine ungeordnete Menge von Name / Wert-Paaren.
Objekte sind in geschweiften Klammern eingeschlossen, dh sie beginnen mit '{' und enden mit '}'.
Auf jeden Namen folgt ':' (Doppelpunkt) und die Schlüssel / Wert-Paare werden durch (Komma) getrennt.
Die Tasten müssen Zeichenfolgen sein und sollten sich voneinander unterscheiden.
Objekte sollten verwendet werden, wenn die Schlüsselnamen beliebige Zeichenfolgen sind.
Syntax
{ string : value, .......}
Beispiel
Beispiel zeigt Objekt -
{
"id": "011A",
"language": "JAVA",
"price": 500,
}
Leerzeichen
Es kann zwischen jedem Token-Paar eingefügt werden. Es kann hinzugefügt werden, um einen Code besser lesbar zu machen. Beispiel zeigt Deklaration mit und ohne Leerzeichen -
Syntax
{string:" ",....}
Beispiel
var obj1 = {"name": "Sachin Tendulkar"}
var obj2 = {"name": "SauravGanguly"}
Null
Es bedeutet leerer Typ.
Syntax
null
Beispiel
var i = null;
if(i == 1) {
document.write("<h1>value is 1</h1>");
} else {
document.write("<h1>value is null</h1>");
}
JSON-Wert
Es beinhaltet -
- Zahl (Ganzzahl oder Gleitkomma)
- string
- boolean
- array
- object
- null
Syntax
String | Number | Object | Array | TRUE | FALSE | NULL
Beispiel
var i = 1;
var j = "sachin";
var k = null;
Einfache Objekte erstellen
JSON-Objekte können mit JavaScript erstellt werden. Sehen wir uns die verschiedenen Möglichkeiten zum Erstellen von JSON-Objekten mit JavaScript an:
- Erstellung eines leeren Objekts -
var JSONObj = {};
- Erstellung eines neuen Objekts -
var JSONObj = new Object();
Erstellung eines Objekts mit Attribut bookname mit Wert in Zeichenfolge, Attribut pricemit numerischem Wert. Auf das Attribut wird mit '.' Betreiber -
var JSONObj = { "bookname ":"VB BLACK BOOK", "price":500 };
Dies ist ein Beispiel, das die Erstellung eines Objekts in Javascript mit JSON zeigt. Speichern Sie den folgenden Code unter json_object.htm - -
<html>
<head>
<title>Creating Object JSON with JavaScript</title>
<script language = "javascript" >
var JSONObj = { "name" : "tutorialspoint.com", "year" : 2005 };
document.write("<h1>JSON with JavaScript example</h1>");
document.write("<br>");
document.write("<h3>Website Name = "+JSONObj.name+"</h3>");
document.write("<h3>Year = "+JSONObj.year+"</h3>");
</script>
</head>
<body>
</body>
</html>
Versuchen wir nun, Json Object mit dem IE oder einem anderen JavaScript-fähigen Browser zu öffnen . Es ergibt sich folgendes Ergebnis:
Array-Objekte erstellen
Das folgende Beispiel zeigt die Erstellung eines Array-Objekts in Javascript mit JSON. Speichern Sie den folgenden Code unter json_array_object.htm - -
<html>
<head>
<title>Creation of array object in javascript using JSON</title>
<script language = "javascript" >
document.writeln("<h2>JSON array object</h2>");
var books = { "Pascal" : [
{ "Name" : "Pascal Made Simple", "price" : 700 },
{ "Name" : "Guide to Pascal", "price" : 400 }],
"Scala" : [
{ "Name" : "Scala for the Impatient", "price" : 1000 },
{ "Name" : "Scala in Depth", "price" : 1300 }]
}
var i = 0
document.writeln("<table border = '2'><tr>");
for(i = 0;i<books.Pascal.length;i++) {
document.writeln("<td>");
document.writeln("<table border = '1' width = 100 >");
document.writeln("<tr><td><b>Name</b></td><td width = 50>" + books.Pascal[i].Name+"</td></tr>");
document.writeln("<tr><td><b>Price</b></td><td width = 50>" + books.Pascal[i].price +"</td></tr>");
document.writeln("</table>");
document.writeln("</td>");
}
for(i = 0;i<books.Scala.length;i++) {
document.writeln("<td>");
document.writeln("<table border = '1' width = 100 >");
document.writeln("<tr><td><b>Name</b></td><td width = 50>" + books.Scala[i].Name+"</td></tr>");
document.writeln("<tr><td><b>Price</b></td><td width = 50>" + books.Scala[i].price+"</td></tr>");
document.writeln("</table>");
document.writeln("</td>");
}
document.writeln("</tr></table>");
</script>
</head>
<body>
</body>
</html>
Versuchen wir nun, das Json-Array-Objekt mit dem IE oder einem anderen JavaScript-fähigen Browser zu öffnen . Es ergibt sich folgendes Ergebnis:
Das JSON-Schema ist eine Spezifikation für das JSON-basierte Format zum Definieren der Struktur von JSON-Daten. Es wurde unter dem IETF-Entwurf geschrieben, der 2011 abgelaufen ist. JSON-Schema -
- Beschreibt Ihr vorhandenes Datenformat.
- Klare, für Menschen und Maschinen lesbare Dokumentation.
- Vollständige strukturelle Validierung, nützlich für automatisierte Tests.
- Vollständige strukturelle Validierung, Validierung der vom Kunden eingereichten Daten.
JSON-Schema-Validierungsbibliotheken
Derzeit sind mehrere Validatoren für verschiedene Programmiersprachen verfügbar. Derzeit ist JSV der vollständigste und kompatibelste verfügbare JSON-Schema-Validator.
Sprachen | Bibliotheken |
---|---|
C. | WJElement (LGPLv3) |
Java | json-schema-validator (LGPLv3) |
.NETZ | Json.NET (MIT) |
ActionScript 3 | Frigga (MIT) |
Haskell | Aeson-Schema (MIT) |
Python | Jsonschema |
Rubin | Autoparse (ASL 2.0); Ruby-Jsonschema (MIT) |
PHP | PHP-JSON-Schema (MIT). json-schema (Berkeley) |
JavaScript | Ordentlich (BSD); JSV; json-schema; Matic (MIT); Dojo; Beharrlichkeit (modifiziertes BSD oder AFL 2.0); schema.js. |
Beispiel für ein JSON-Schema
Im Folgenden finden Sie ein grundlegendes JSON-Schema, das eine klassische Produktkatalogbeschreibung abdeckt.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Product",
"description": "A product from Acme's catalog",
"type": "object",
"properties": {
"id": {
"description": "The unique identifier for a product",
"type": "integer"
},
"name": {
"description": "Name of the product",
"type": "string"
},
"price": {
"type": "number",
"minimum": 0,
"exclusiveMinimum": true
}
},
"required": ["id", "name", "price"]
}
Lassen Sie uns verschiedene wichtige Schlüsselwörter überprüfen, die in diesem Schema verwendet werden können -
Sr.Nr. | Schlüsselwort & Beschreibung |
---|---|
1 | $schema Das Schlüsselwort $ schema gibt an, dass dieses Schema gemäß dem Entwurf der v4-Spezifikation geschrieben wurde. |
2 | title Sie werden dies verwenden, um Ihrem Schema einen Titel zu geben. |
3 | description Eine kleine Beschreibung des Schemas. |
4 | type Das Schlüsselwort type definiert die erste Einschränkung für unsere JSON-Daten: Es muss ein JSON-Objekt sein. |
5 | properties Definiert verschiedene Schlüssel und ihre Werttypen sowie Minimal- und Maximalwerte, die in der JSON-Datei verwendet werden sollen. |
6 | required Dadurch wird eine Liste der erforderlichen Eigenschaften geführt. |
7 | minimum Dies ist die Einschränkung, die dem Wert auferlegt werden muss, und stellt den minimal akzeptablen Wert dar. |
8 | exclusiveMinimum Wenn "exklusiveMinimum" vorhanden ist und den Booleschen Wert true hat, ist die Instanz gültig, wenn sie streng größer als der Wert von "Minimum" ist. |
9 | maximum Dies ist die Einschränkung für den Wert und stellt den maximal zulässigen Wert dar. |
10 | exclusiveMaximum Wenn "exklusiveMaximum" vorhanden ist und den booleschen Wert true hat, ist die Instanz gültig, wenn sie streng niedriger als der Wert von "Maximum" ist. |
11 | multipleOf Eine numerische Instanz ist gegen "multipleOf" gültig, wenn das Ergebnis der Division der Instanz durch den Wert dieses Schlüsselworts eine Ganzzahl ist. |
12 | maxLength Die Länge einer Zeichenfolgeninstanz ist definiert als die maximale Anzahl ihrer Zeichen. |
13 | minLength Die Länge einer Zeichenfolgeninstanz wird als Mindestanzahl ihrer Zeichen definiert. |
14 | pattern Eine Zeichenfolgeninstanz wird als gültig angesehen, wenn der reguläre Ausdruck erfolgreich mit der Instanz übereinstimmt. |
Sie können a überprüfen http://json-schema.orgHier finden Sie die vollständige Liste der Schlüsselwörter, die zum Definieren eines JSON-Schemas verwendet werden können. Das obige Schema kann verwendet werden, um die Gültigkeit des folgenden JSON-Codes zu testen:
[
{
"id": 2,
"name": "An ice sculpture",
"price": 12.50,
},
{
"id": 3,
"name": "A blue mouse",
"price": 25.50,
}
]
JSON und XML sind lesbare Formate und sprachunabhängig. Beide unterstützen das Erstellen, Lesen und Dekodieren in realen Situationen. Wir können JSON mit XML vergleichen, basierend auf den folgenden Faktoren:
Ausführlich
XML ist ausführlicher als JSON, daher ist es schneller, JSON für Programmierer zu schreiben.
Verwendung von Arrays
XML wird verwendet, um die strukturierten Daten zu beschreiben, die keine Arrays enthalten, während JSON Arrays enthält.
Parsing
Die Eval- Methode von JavaScript analysiert JSON. Bei Anwendung auf JSON gibt eval das beschriebene Objekt zurück.
Beispiel
Einzelne Beispiele für XML und JSON -
JSON
{
"company": Volkswagen,
"name": "Vento",
"price": 800000
}
XML
<car>
<company>Volkswagen</company>
<name>Vento</name>
<price>800000</price>
</car>
In diesem Kapitel wird beschrieben, wie Sie JSON-Objekte mit der Programmiersprache PHP codieren und decodieren. Beginnen wir mit der Vorbereitung der Umgebung, um unsere Programmierung mit PHP für JSON zu starten.
Umgebung
Ab PHP 5.2.0 wird die JSON-Erweiterung standardmäßig gebündelt und in PHP kompiliert.
JSON-Funktionen
Funktion | Bibliotheken |
---|---|
json_encode | Gibt die JSON-Darstellung eines Werts zurück. |
json_decode | Dekodiert eine JSON-Zeichenfolge. |
json_last_error | Gibt den zuletzt aufgetretenen Fehler zurück. |
JSON in PHP codieren (json_encode)
Die PHP-Funktion json_encode () wird zum Codieren von JSON in PHP verwendet. Diese Funktion gibt die JSON-Darstellung eines Werts bei Erfolg oder von FALSE bei Fehlschlag zurück.
Syntax
string json_encode ( $value [, $options = 0 ] )
Parameter
value- Der zu codierende Wert. Diese Funktion funktioniert nur mit UTF-8-codierten Daten.
options - Dieser optionale Wert ist eine Bitmaske, die aus JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT besteht.
Beispiel
Das folgende Beispiel zeigt, wie ein Array mit PHP in JSON konvertiert wird -
<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
?>
Während der Ausführung wird das folgende Ergebnis erzielt:
{"a":1,"b":2,"c":3,"d":4,"e":5}
Das folgende Beispiel zeigt, wie die PHP-Objekte in JSON konvertiert werden können -
<?php
class Emp {
public $name = "";
public $hobbies = ""; public $birthdate = "";
}
$e = new Emp(); $e->name = "sachin";
$e->hobbies = "sports"; $e->birthdate = date('m/d/Y h:i:s a', "8/5/1974 12:20:03 p");
$e->birthdate = date('m/d/Y h:i:s a', strtotime("8/5/1974 12:20:03")); echo json_encode($e);
?>
Während der Ausführung wird das folgende Ergebnis erzielt:
{"name":"sachin","hobbies":"sports","birthdate":"08\/05\/1974 12:20:03 pm"}
JSON in PHP dekodieren (json_decode)
Die PHP-Funktion json_decode () wird zum Dekodieren von JSON in PHP verwendet. Diese Funktion gibt den von json dekodierten Wert an den entsprechenden PHP-Typ zurück.
Syntax
mixed json_decode ($json [,$assoc = false [, $depth = 512 [, $options = 0 ]]])
Parameter
json_string - Es handelt sich um eine codierte Zeichenfolge, bei der es sich um UTF-8-codierte Daten handeln muss.
assoc - Es handelt sich um einen booleschen Parameter. Wenn TRUE festgelegt ist, werden zurückgegebene Objekte in assoziative Arrays konvertiert.
depth - Dies ist ein ganzzahliger Parameter, der die Rekursionstiefe angibt
options - Es handelt sich um eine ganzzahlige Bitmaske mit JSON-Dekodierung. JSON_BIGINT_AS_STRING wird unterstützt.
Beispiel
Das folgende Beispiel zeigt, wie PHP zum Dekodieren von JSON-Objekten verwendet werden kann.
<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json));
var_dump(json_decode($json, true));
?>
Während der Ausführung wird das folgende Ergebnis angezeigt:
object(stdClass)#1 (5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
array(5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
In diesem Kapitel wird beschrieben, wie Sie JSON-Objekte mit der Programmiersprache Perl codieren und decodieren. Beginnen wir mit der Vorbereitung der Umgebung, um unsere Programmierung mit Perl für JSON zu starten.
Umgebung
Bevor Sie mit dem Codieren und Decodieren von JSON mit Perl beginnen, müssen Sie das JSON-Modul installieren, das von CPAN bezogen werden kann. Führen Sie nach dem Herunterladen von JSON-2.53.tar.gz oder einer anderen neuesten Version die folgenden Schritte aus:
$tar xvfz JSON-2.53.tar.gz
$cd JSON-2.53 $perl Makefile.PL
$make $make install
JSON-Funktionen
Funktion | Bibliotheken |
---|---|
encode_json | Konvertiert die angegebene Perl-Datenstruktur in eine UTF-8-codierte Binärzeichenfolge. |
decode_json | Dekodiert eine JSON-Zeichenfolge. |
to_json | Konvertiert die angegebene Perl-Datenstruktur in eine JSON-Zeichenfolge. |
from_json | Erwartet eine JSON-Zeichenfolge und versucht, sie zu analysieren, wobei die resultierende Referenz zurückgegeben wird. |
convert_blessed | Verwenden Sie diese Funktion mit true value, damit Perl die TO_JSON-Methode für die Objektklasse verwenden kann, um ein Objekt in JSON zu konvertieren. |
JSON in Perl codieren (encode_json)
Die Perl-Funktion encode_json () konvertiert die angegebene Perl-Datenstruktur in eine UTF-8-codierte Binärzeichenfolge.
Syntax
$json_text = encode_json ($perl_scalar );
or
$json_text = JSON->new->utf8->encode($perl_scalar);
Beispiel
Das folgende Beispiel zeigt Arrays unter JSON mit Perl -
#!/usr/bin/perl
use JSON;
my %rec_hash = ('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
my $json = encode_json \%rec_hash; print "$json\n";
Während der Ausführung wird das folgende Ergebnis erzielt:
{"e":5,"c":3,"a":1,"b":2,"d":4}
Das folgende Beispiel zeigt, wie Perl-Objekte in JSON konvertiert werden können -
#!/usr/bin/perl
package Emp;
sub new {
my $class = shift; my $self = {
name => shift,
hobbies => shift,
birthdate => shift,
};
bless $self, $class;
return $self; } sub TO_JSON { return { %{ shift() } }; } package main; use JSON; my $JSON = JSON->new->utf8;
$JSON->convert_blessed(1); $e = new Emp( "sachin", "sports", "8/5/1974 12:20:03 pm");
$json = $JSON->encode($e); print "$json\n";
Bei der Ausführung wird das folgende Ergebnis angezeigt:
{"birthdate":"8/5/1974 12:20:03 pm","name":"sachin","hobbies":"sports"}
JSON in Perl dekodieren (decode_json)
Die Perl-Funktion decode_json () wird zum Dekodieren von JSON in Perl verwendet. Diese Funktion gibt den von json dekodierten Wert an einen geeigneten Perl-Typ zurück.
Syntax
$perl_scalar = decode_json $json_text
or
$perl_scalar = JSON->new->utf8->decode($json_text)
Beispiel
Das folgende Beispiel zeigt, wie Perl zum Dekodieren von JSON-Objekten verwendet werden kann. Hier müssen Sie das Data :: Dumper-Modul installieren, wenn Sie es noch nicht auf Ihrem Computer haben.
#!/usr/bin/perl
use JSON;
use Data::Dumper;
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; $text = decode_json($json); print Dumper($text);
Bei der Ausführung wird folgendes Ergebnis erzielt:
$VAR1 = {
'e' => 5,
'c' => 3,
'a' => 1,
'b' => 2,
'd' => 4
};
In diesem Kapitel wird beschrieben, wie Sie JSON-Objekte mit der Programmiersprache Python codieren und decodieren. Beginnen wir mit der Vorbereitung der Umgebung, um unsere Programmierung mit Python für JSON zu starten.
Umgebung
Bevor Sie mit dem Codieren und Decodieren von JSON mit Python beginnen, müssen Sie eines der verfügbaren JSON-Module installieren. Für dieses Tutorial haben wir Demjson wie folgt heruntergeladen und installiert :
$tar xvfz demjson-1.6.tar.gz
$cd demjson-1.6 $python setup.py install
JSON-Funktionen
Funktion | Bibliotheken |
---|---|
kodieren | Codiert das Python-Objekt in eine JSON-Zeichenfolgendarstellung. |
dekodieren | Dekodiert eine JSON-codierte Zeichenfolge in ein Python-Objekt. |
JSON in Python codieren (codieren)
Die Funktion Python encode () codiert das Python-Objekt in eine JSON-Zeichenfolgendarstellung.
Syntax
demjson.encode(self, obj, nest_level=0)
Beispiel
Das folgende Beispiel zeigt Arrays unter JSON mit Python.
#!/usr/bin/python
import demjson
data = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]
json = demjson.encode(data)
print json
Während der Ausführung wird das folgende Ergebnis erzielt:
[{"a":1,"b":2,"c":3,"d":4,"e":5}]
JSON in Python dekodieren (dekodieren)
Python kann die Funktion demjson.decode () zum Dekodieren von JSON verwenden. Diese Funktion gibt den von json dekodierten Wert an einen geeigneten Python-Typ zurück.
Syntax
demjson.decode(self, txt)
Beispiel
Das folgende Beispiel zeigt, wie Python zum Dekodieren von JSON-Objekten verwendet werden kann.
#!/usr/bin/python
import demjson
json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
text = demjson.decode(json)
print text
Bei der Ausführung wird das folgende Ergebnis angezeigt:
{u'a': 1, u'c': 3, u'b': 2, u'e': 5, u'd': 4}
In diesem Kapitel wird beschrieben, wie Sie JSON-Objekte mit der Programmiersprache Ruby codieren und decodieren. Beginnen wir mit der Vorbereitung der Umgebung, um unsere Programmierung mit Ruby für JSON zu starten.
Umgebung
Bevor Sie mit dem Codieren und Decodieren von JSON mit Ruby beginnen, müssen Sie eines der für Ruby verfügbaren JSON-Module installieren. Möglicherweise müssen Sie Ruby gem installieren. Wenn Sie jedoch die neueste Version von Ruby ausführen, muss gem bereits auf Ihrem Computer installiert sein. Andernfalls führen Sie den folgenden Einzelschritt aus, vorausgesetzt, Sie haben gem bereits installiert.
$gem install json
Analysieren von JSON mit Ruby
Das folgende Beispiel zeigt, dass die ersten beiden Schlüssel Zeichenfolgenwerte und die letzten drei Tasten Arrays von Zeichenfolgen enthalten. Lassen Sie uns den folgenden Inhalt in einer Datei namens behalteninput.json.
{
"President": "Alan Isaac",
"CEO": "David Richardson",
"India": [
"Sachin Tendulkar",
"Virender Sehwag",
"Gautam Gambhir"
],
"Srilanka": [
"Lasith Malinga",
"Angelo Mathews",
"Kumar Sangakkara"
],
"England": [
"Alastair Cook",
"Jonathan Trott",
"Kevin Pietersen"
]
}
Im Folgenden finden Sie ein Ruby-Programm, mit dem das oben genannte JSON-Dokument analysiert wird.
#!/usr/bin/ruby
require 'rubygems'
require 'json'
require 'pp'
json = File.read('input.json')
obj = JSON.parse(json)
pp obj
Bei der Ausführung wird das folgende Ergebnis angezeigt:
{
"President"=>"Alan Isaac",
"CEO"=>"David Richardson",
"India"=>
["Sachin Tendulkar", "Virender Sehwag", "Gautam Gambhir"],
"Srilanka"=>
["Lasith Malinga ", "Angelo Mathews", "Kumar Sangakkara"],
"England"=>
["Alastair Cook", "Jonathan Trott", "Kevin Pietersen"]
}
In diesem Kapitel wird beschrieben, wie Sie JSON-Objekte mit der Programmiersprache Java codieren und decodieren. Beginnen wir mit der Vorbereitung der Umgebung, um unsere Programmierung mit Java für JSON zu starten.
Umgebung
Bevor Sie mit dem Codieren und Decodieren von JSON mit Java beginnen, müssen Sie eines der verfügbaren JSON-Module installieren. Für dieses Tutorial haben wir JSON.simple heruntergeladen und installiert und den Speicherort von hinzugefügtjson-simple-1.1.1.jar Datei in die Umgebungsvariable CLASSPATH.
Zuordnung zwischen JSON- und Java-Entitäten
JSON.simple ordnet Entitäten beim Decodieren oder Parsen von links nach rechts zu und ordnet Entitäten beim Codieren von rechts nach links zu.
JSON | Java |
---|---|
Zeichenfolge | java.lang.String |
Nummer | java.lang.Number |
wahr | falsch | java.lang.Boolean |
Null | Null |
Array | java.util.List |
Objekt | java.util.Map |
Auf der Decodierung der Standard konkrete Klasse von java.util.List ist org.json.simple.JSONArray und die Standard konkrete Klasse von java.util.Map ist org.json.simple.JSONObject .
JSON in Java codieren
Im Folgenden finden Sie ein einfaches Beispiel zum Codieren eines JSON-Objekts mit Java JSONObject, einer Unterklasse von java.util.HashMap. Es wird keine Bestellung bereitgestellt. Wenn Sie die strikte Reihenfolge der Elemente benötigen, verwenden Sie die JSONValue.toJSONString (map) -Methode mit geordneter Map-Implementierung wie java.util.LinkedHashMap.
import org.json.simple.JSONObject;
class JsonEncodeDemo {
public static void main(String[] args) {
JSONObject obj = new JSONObject();
obj.put("name", "foo");
obj.put("num", new Integer(100));
obj.put("balance", new Double(1000.21));
obj.put("is_vip", new Boolean(true));
System.out.print(obj);
}
}
Beim Kompilieren und Ausführen des obigen Programms wird das folgende Ergebnis generiert:
{"balance": 1000.21, "num":100, "is_vip":true, "name":"foo"}
Das folgende Beispiel zeigt ein JSON-Objekt-Streaming mit Java JSONObject -
import org.json.simple.JSONObject;
class JsonEncodeDemo {
public static void main(String[] args) {
JSONObject obj = new JSONObject();
obj.put("name","foo");
obj.put("num",new Integer(100));
obj.put("balance",new Double(1000.21));
obj.put("is_vip",new Boolean(true));
StringWriter out = new StringWriter();
obj.writeJSONString(out);
String jsonText = out.toString();
System.out.print(jsonText);
}
}
Beim Kompilieren und Ausführen des obigen Programms wird das folgende Ergebnis generiert:
{"balance": 1000.21, "num":100, "is_vip":true, "name":"foo"}
JSON in Java dekodieren
Das folgende Beispiel verwendet JSONObject und JSONArray Dabei ist JSONObject eine java.util.Map und JSONArray eine java.util.List, sodass Sie mit den Standardoperationen Map oder List darauf zugreifen können.
import org.json.simple.JSONObject;
import org.json.simple.JSONArray;
import org.json.simple.parser.ParseException;
import org.json.simple.parser.JSONParser;
class JsonDecodeDemo {
public static void main(String[] args) {
JSONParser parser = new JSONParser();
String s = "[0,{\"1\":{\"2\":{\"3\":{\"4\":[5,{\"6\":7}]}}}}]";
try{
Object obj = parser.parse(s);
JSONArray array = (JSONArray)obj;
System.out.println("The 2nd element of array");
System.out.println(array.get(1));
System.out.println();
JSONObject obj2 = (JSONObject)array.get(1);
System.out.println("Field \"1\"");
System.out.println(obj2.get("1"));
s = "{}";
obj = parser.parse(s);
System.out.println(obj);
s = "[5,]";
obj = parser.parse(s);
System.out.println(obj);
s = "[5,,2]";
obj = parser.parse(s);
System.out.println(obj);
}catch(ParseException pe) {
System.out.println("position: " + pe.getPosition());
System.out.println(pe);
}
}
}
Beim Kompilieren und Ausführen des obigen Programms wird das folgende Ergebnis generiert:
The 2nd element of array
{"1":{"2":{"3":{"4":[5,{"6":7}]}}}}
Field "1"
{"2":{"3":{"4":[5,{"6":7}]}}}
{}
[5]
[5,2]
AJAX ist asynchrones JavaScript und XML, das auf der Clientseite als Gruppe miteinander verbundener Webentwicklungstechniken verwendet wird, um asynchrone Webanwendungen zu erstellen. Gemäß dem AJAX-Modell können Webanwendungen Daten asynchron von einem Server senden und abrufen, ohne die Anzeige und das Verhalten der vorhandenen Seite zu beeinträchtigen.
Viele Entwickler verwenden JSON, um AJAX-Updates zwischen dem Client und dem Server zu übertragen. Websites, die Live-Sportergebnisse aktualisieren, können als Beispiel für AJAX angesehen werden. Wenn diese Ergebnisse auf der Website aktualisiert werden müssen, müssen sie auf dem Server gespeichert werden, damit die Webseite die Ergebnisse bei Bedarf abrufen kann. Hier können wir JSON-formatierte Daten verwenden.
Alle Daten, die mit AJAX aktualisiert werden, können im JSON-Format auf dem Webserver gespeichert werden. AJAX wird verwendet, damit Javascript diese JSON-Dateien bei Bedarf abrufen, analysieren und eine der folgenden Operationen ausführen kann:
Speichern Sie die analysierten Werte zur weiteren Verarbeitung in den Variablen, bevor Sie sie auf der Webseite anzeigen.
Die Daten werden den DOM-Elementen auf der Webseite direkt zugewiesen, sodass sie auf der Website angezeigt werden.
Beispiel
Der folgende Code zeigt JSON mit AJAX. Speichern Sie es alsajax.htmDatei. Hier wird die Ladefunktion loadJSON () asynchron zum Hochladen von JSON-Daten verwendet.
<html>
<head>
<meta content = "text/html; charset = ISO-8859-1" http-equiv = "content-type">
<script type = "application/javascript">
function loadJSON() {
var data_file = "http://www.tutorialspoint.com/json/data.json";
var http_request = new XMLHttpRequest();
try{
// Opera 8.0+, Firefox, Chrome, Safari
http_request = new XMLHttpRequest();
}catch (e) {
// Internet Explorer Browsers
try{
http_request = new ActiveXObject("Msxml2.XMLHTTP");
}catch (e) {
try{
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}catch (e) {
// Something went wrong
alert("Your browser broke!");
return false;
}
}
}
http_request.onreadystatechange = function() {
if (http_request.readyState == 4 ) {
// Javascript function JSON.parse to parse JSON data
var jsonObj = JSON.parse(http_request.responseText);
// jsonObj variable now contains the data structure and can
// be accessed as jsonObj.name and jsonObj.country.
document.getElementById("Name").innerHTML = jsonObj.name;
document.getElementById("Country").innerHTML = jsonObj.country;
}
}
http_request.open("GET", data_file, true);
http_request.send();
}
</script>
<title>tutorialspoint.com JSON</title>
</head>
<body>
<h1>Cricketer Details</h1>
<table class = "src">
<tr><th>Name</th><th>Country</th></tr>
<tr><td><div id = "Name">Sachin</div></td>
<td><div id = "Country">India</div></td></tr>
</table>
<div class = "central">
<button type = "button" onclick = "loadJSON()">Update Details </button>
</div>
</body>
</html>
Unten ist die Eingabedatei angegeben data.jsonmit Daten im JSON-Format, die asynchron hochgeladen werden, wenn wir auf klicken Update DetailTaste. Diese Datei wird gespeicherthttp://www.tutorialspoint.com/json/
{"name": "Brett", "country": "Australia"}
Der obige HTML-Code generiert den folgenden Bildschirm, in dem Sie AJAX in Aktion überprüfen können:
Cricketspieler Details
Name | Land |
---|---|
Sachin
|
Indien
|
Wenn Sie auf klicken Update DetailSchaltfläche, sollten Sie ein Ergebnis wie folgt erhalten. Sie können JSON mit AJAX selbst ausprobieren , sofern Ihr Browser Javascript unterstützt.
Cricketspieler Details
Name | Land |
---|---|
Brett
|
Australien
|