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