JSON - Panduan Cepat

JSON atau JavaScript Object Notation adalah standar terbuka berbasis teks ringan yang dirancang untuk pertukaran data yang dapat dibaca manusia. Konvensi yang digunakan oleh JSON dikenal oleh programmer, yang meliputi C, C ++, Java, Python, Perl, dll.

  • JSON adalah singkatan dari JavaScript Object Notation.

  • Formatnya ditentukan oleh Douglas Crockford.

  • Ini dirancang untuk pertukaran data yang dapat dibaca manusia.

  • Itu telah diperpanjang dari bahasa skrip JavaScript.

  • Ekstensi nama file adalah .json.

  • Jenis JSON Internet Media adalah application/json.

  • Uniform Type Identifier adalah public.json.

Penggunaan JSON

  • Ini digunakan saat menulis aplikasi berbasis JavaScript yang mencakup ekstensi browser dan situs web.

  • Format JSON digunakan untuk membuat serial dan mentransmisikan data terstruktur melalui koneksi jaringan.

  • Ini terutama digunakan untuk mengirimkan data antara server dan aplikasi web.

  • Layanan web dan API menggunakan format JSON untuk menyediakan data publik.

  • Ini dapat digunakan dengan bahasa pemrograman modern.

Karakteristik JSON

  • JSON mudah dibaca dan ditulis.
  • Ini adalah format pertukaran berbasis teks yang ringan.
  • JSON tidak bergantung pada bahasa.

Contoh Sederhana di JSON

Contoh berikut menunjukkan cara menggunakan JSON untuk menyimpan informasi terkait buku berdasarkan topik dan edisi mereka.

{
   "book": [
	
      {
         "id":"01",
         "language": "Java",
         "edition": "third",
         "author": "Herbert Schildt"
      },
	
      {
         "id":"07",
         "language": "C++",
         "edition": "second",
         "author": "E.Balagurusamy"
      }
   ]
}

Setelah memahami program di atas, kita akan mencoba contoh lain. Mari simpan kode di bawah ini sebagaijson.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>

Sekarang mari kita coba membuka json.htm menggunakan IE atau browser lain yang mendukung javascript yang menghasilkan hasil berikut -

Anda dapat merujuk ke bab Objek JSON untuk informasi lebih lanjut tentang objek JSON.

Mari kita lihat sekilas sintaks dasar JSON. Sintaks JSON pada dasarnya dianggap sebagai bagian dari sintaks JavaScript; itu termasuk yang berikut -

  • Data direpresentasikan dalam pasangan nama / nilai.

  • Tanda kurung kurawal menahan objek dan setiap nama diikuti dengan ':' (titik dua), pasangan nama / nilai dipisahkan oleh, (koma).

  • Tanda kurung siku menampung larik dan nilai dipisahkan oleh, (koma).

Di bawah ini adalah contoh sederhana -

{
   "book": [

      {
         "id": "01",
         "language": "Java",
         "edition": "third",
         "author": "Herbert Schildt"
      },

      {
         "id": "07",
         "language": "C++",
         "edition": "second",
         "author": "E.Balagurusamy"
      }

   ]
}

JSON mendukung dua struktur data berikut -

  • Collection of name/value pairs - Struktur Data ini didukung oleh bahasa pemrograman yang berbeda.

  • Ordered list of values - Ini termasuk array, daftar, vektor atau urutan dll.

Format JSON mendukung tipe data berikut -

Sr.No. Jenis & Deskripsi
1

Number

format titik mengambang presisi ganda di JavaScript

2

String

Unicode yang dikutip ganda dengan pelolosan garis miring terbalik

3

Boolean

benar atau salah

4

Array

urutan nilai yang berurutan

5

Value

itu bisa berupa string, angka, benar atau salah, nol dll

6

Object

kumpulan pasangan kunci: nilai yang tidak berurutan

7

Whitespace

dapat digunakan di antara sepasang token apa pun

8

null

kosong

Jumlah

  • Ini adalah format floating-point presisi ganda dalam JavaScript dan bergantung pada implementasinya.

  • Format oktal dan heksadesimal tidak digunakan.

  • Tidak ada NaN atau Infinity digunakan di Number.

Tabel berikut menunjukkan jenis nomor -

Sr.No. Jenis & Deskripsi
1

Integer

Digit 1-9, 0 dan positif atau negatif

2

Fraction

Pecahan seperti .3, .9

3

Exponent

Eksponen seperti e, e +, e-, E, E +, E-

Sintaksis

var json-object-name = { string : number_value, .......}

Contoh

Contoh menunjukkan Number Datatype, nilai tidak boleh dikutip -

var obj = {marks: 97}

Tali

  • Ini adalah urutan nol atau lebih karakter Unicode yang dikutip ganda dengan pelolosan garis miring terbalik.

  • Karakter adalah string karakter tunggal yaitu string dengan panjang 1.

Tabel menunjukkan berbagai karakter khusus yang dapat Anda gunakan dalam string dokumen JSON -

Sr.No. Jenis & Deskripsi
1

"

kutipan ganda

2

\

garis miring terbalik

3

/

garis miring ke depan

4

b

menghapus

5

f

bentuk pakan

6

n

garis baru

7

r

Kereta kembali

8

t

tab horizontal

9

u

empat digit heksadesimal

Sintaksis

var json-object-name = { string : "string value", .......}

Contoh

Contoh yang menampilkan Jenis Data String -

var obj = {name: 'Amit'}

Boolean

Ini mencakup nilai benar atau salah.

Sintaksis

var json-object-name = { string : true/false, .......}

Contoh

var obj = {name: 'Amit', marks: 97, distinction: true}

Himpunan

  • Ini adalah kumpulan nilai yang teratur.

  • Ini diapit dalam tanda kurung siku yang berarti bahwa array dimulai dengan. [. dan diakhiri dengan.] ..

  • Nilai dipisahkan oleh, (koma).

  • Pengindeksan array dapat dimulai dari 0 atau 1.

  • Array harus digunakan jika nama kunci adalah bilangan bulat berurutan.

Sintaksis

[ value, .......]

Contoh

Contoh menampilkan larik yang berisi banyak objek -

{
   "books": [
      { "language":"Java" , "edition":"second" },
      { "language":"C++" , "lastName":"fifth" },
      { "language":"C" , "lastName":"third" }
   ]
}

Obyek

  • Ini adalah kumpulan pasangan nama / nilai yang tidak berurutan.

  • Objek diapit tanda kurung kurawal, dimulai dengan '{' dan diakhiri dengan '}'.

  • Setiap nama diikuti dengan ':' (titik dua) dan pasangan kunci / nilai dipisahkan oleh, (koma).

  • Kunci harus berupa string dan harus berbeda satu sama lain.

  • Objek harus digunakan jika nama kunci adalah string arbitrer.

Sintaksis

{ string : value, .......}

Contoh

Contoh menunjukkan Objek -

{
   "id": "011A",
   "language": "JAVA",
   "price": 500,
}

Spasi Putih

Itu dapat disisipkan di antara sepasang token apa pun. Dapat ditambahkan agar kode lebih mudah dibaca. Contoh menunjukkan deklarasi dengan dan tanpa spasi -

Sintaksis

{string:" ",....}

Contoh

var obj1 = {"name": "Sachin Tendulkar"}
var obj2 = {"name": "SauravGanguly"}

batal

Artinya tipe kosong.

Sintaksis

null

Contoh

var i = null;

if(i == 1) {
   document.write("<h1>value is 1</h1>");
} else {
   document.write("<h1>value is null</h1>");
}

Nilai JSON

Ini termasuk -

  • angka (integer atau floating point)
  • string
  • boolean
  • array
  • object
  • null

Sintaksis

String | Number | Object | Array | TRUE | FALSE | NULL

Contoh

var i = 1;
var j = "sachin";
var k = null;

Membuat Objek Sederhana

Objek JSON dapat dibuat dengan JavaScript. Mari kita lihat berbagai cara membuat objek JSON menggunakan JavaScript -

  • Penciptaan Objek kosong -
var JSONObj = {};
  • Pembuatan Objek baru -
var JSONObj = new Object();
  • Penciptaan objek dengan atribut bookname dengan nilai dalam string, atribut pricedengan nilai numerik. Atribut diakses dengan menggunakan '.' Operator -

var JSONObj = { "bookname ":"VB BLACK BOOK", "price":500 };

Ini adalah contoh yang menunjukkan pembuatan objek dalam javascript menggunakan JSON, simpan kode di bawah ini sebagai 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>

Sekarang mari kita coba membuka Json Object menggunakan IE atau browser lain yang mendukung javaScript. Ini menghasilkan hasil sebagai berikut -

Membuat Objek Array

Contoh berikut menunjukkan pembuatan objek array dalam javascript menggunakan JSON, simpan kode di bawah ini sebagai 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>

Sekarang mari kita coba membuka Json Array Object menggunakan IE atau browser lain yang mendukung javaScript. Ini menghasilkan hasil sebagai berikut -

Skema JSON adalah spesifikasi format berbasis JSON untuk mendefinisikan struktur data JSON. Itu ditulis di bawah draf IETF yang kedaluwarsa pada tahun 2011. Skema JSON -

  • Menjelaskan format data Anda yang sudah ada.
  • Dokumentasi yang jelas, dapat dibaca manusia dan mesin.
  • Validasi struktural lengkap, berguna untuk pengujian otomatis.
  • Validasi struktural lengkap, validasi data yang dikirimkan klien.

Pustaka Validasi Skema JSON

Ada beberapa validator yang saat ini tersedia untuk bahasa pemrograman yang berbeda. Saat ini, validator Skema JSON yang paling lengkap dan sesuai yang tersedia adalah JSV.

Bahasa Perpustakaan
C WJElement (LGPLv3)
Jawa json-schema-validator (LGPLv3)
.BERSIH Json.NET (MIT)
ActionScript 3 Frigga (MIT)
Haskell aeson-schema (MIT)
Python Jsonschema
Rubi autoparse (ASL 2.0); ruby-jsonschema (MIT)
PHP php-json-schema (MIT). json-schema (Berkeley)
JavaScript Tertib (BSD); JSV; json-schema; Matic (MIT); Dojo; Persevere (BSD dimodifikasi atau AFL 2.0); schema.js.

Contoh Skema JSON

Diberikan di bawah ini adalah skema JSON dasar, yang mencakup deskripsi katalog produk klasik -

{
   "$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"]
}

Mari kita periksa berbagai kata kunci penting yang dapat digunakan dalam skema ini -

Sr.No. Kata Kunci & Deskripsi
1

$schema

Kata kunci $ schema menyatakan bahwa skema ini ditulis sesuai dengan spesifikasi draf v4.

2

title

Anda akan menggunakan ini untuk memberi judul pada skema Anda.

3

description

Sedikit penjelasan tentang skema.

4

type

Kata kunci type mendefinisikan batasan pertama pada data JSON kita: itu harus berupa Objek JSON.

5

properties

Mendefinisikan berbagai kunci dan jenis nilainya, nilai minimum dan maksimum yang akan digunakan dalam file JSON.

6

required

Ini menyimpan daftar properti yang diperlukan.

7

minimum

Ini adalah batasan untuk diletakkan pada nilai dan mewakili nilai minimum yang dapat diterima.

8

exclusiveMinimum

Jika "exclusiveMinimum" ada dan memiliki nilai boolean true, instance valid jika lebih besar dari nilai "minimum".

9

maximum

Ini adalah batasan untuk diletakkan pada nilai dan mewakili nilai maksimum yang dapat diterima.

10

exclusiveMaximum

Jika "exclusiveMaximum" ada dan memiliki nilai boolean true, instance tersebut valid jika lebih rendah dari nilai "maximum".

11

multipleOf

Sebuah instance numerik valid terhadap "multipleOf" jika hasil dari pembagian instance dengan nilai kata kunci ini adalah bilangan bulat.

12

maxLength

Panjang contoh string didefinisikan sebagai jumlah maksimum karakternya.

13

minLength

Panjang instance string didefinisikan sebagai jumlah minimum karakternya.

14

pattern

Sebuah instance string dianggap valid jika ekspresi reguler berhasil cocok dengan instance tersebut.

Anda dapat memeriksa a http://json-schema.orguntuk daftar lengkap kata kunci yang dapat digunakan dalam menentukan skema JSON. Skema di atas dapat digunakan untuk menguji validitas kode JSON berikut -

[
   {
      "id": 2,
      "name": "An ice sculpture",
      "price": 12.50,
   },
	
   {
      "id": 3,
      "name": "A blue mouse",
      "price": 25.50,
   }
]

JSON dan XML adalah format yang dapat dibaca manusia dan tidak bergantung pada bahasa. Keduanya memiliki dukungan untuk kreasi, membaca, dan mendekode dalam situasi dunia nyata. Kita dapat membandingkan JSON dengan XML, berdasarkan faktor-faktor berikut -

Verbose

XML lebih panjang daripada JSON, jadi lebih cepat menulis JSON untuk pemrogram.

Penggunaan Array

XML digunakan untuk mendeskripsikan data terstruktur, yang tidak menyertakan array sedangkan JSON menyertakan array.

Parsing

Metode eval JavaScript mengurai JSON. Saat diterapkan ke JSON, eval mengembalikan objek yang dijelaskan.

Contoh

Contoh individual XML dan JSON -

JSON

{
   "company": Volkswagen,
   "name": "Vento",
   "price": 800000
}

XML

<car>
   <company>Volkswagen</company>
   <name>Vento</name>
   <price>800000</price>
</car>

Bab ini membahas cara menyandikan dan mendekode objek JSON menggunakan bahasa pemrograman PHP. Mari kita mulai dengan mempersiapkan lingkungan untuk memulai pemrograman kita dengan PHP untuk JSON.

Lingkungan Hidup

Mulai PHP 5.2.0, ekstensi JSON dibundel dan dikompilasi ke dalam PHP secara default.

Fungsi JSON

Fungsi Perpustakaan
json_encode Mengembalikan representasi JSON dari sebuah nilai.
json_decode Mendekode string JSON.
json_last_error Mengembalikan kesalahan terakhir yang terjadi.

Mengenkode JSON dalam PHP (json_encode)

Fungsi PHP json_encode () digunakan untuk encoding JSON dalam PHP. Fungsi ini mengembalikan representasi JSON dari nilai pada keberhasilan atau SALAH pada kegagalan.

Sintaksis

string json_encode ( $value [, $options = 0 ] )

Parameter

  • value- Nilai yang sedang dikodekan. Fungsi ini hanya bekerja dengan data berenkode UTF-8.

  • options - Nilai opsional ini adalah bitmask yang terdiri dari JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT.

Contoh

Contoh berikut menunjukkan cara mengonversi array menjadi JSON dengan PHP -

<?php
   $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
   echo json_encode($arr);
?>

Saat menjalankan, ini akan menghasilkan hasil sebagai berikut -

{"a":1,"b":2,"c":3,"d":4,"e":5}

Contoh berikut menunjukkan bagaimana objek PHP dapat diubah menjadi JSON -

<?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);
?>

Saat menjalankan, ini akan menghasilkan hasil sebagai berikut -

{"name":"sachin","hobbies":"sports","birthdate":"08\/05\/1974 12:20:03 pm"}

Decoding JSON dalam PHP (json_decode)

Fungsi PHP json_decode () digunakan untuk mendekode JSON dalam PHP. Fungsi ini mengembalikan nilai yang diterjemahkan dari json ke tipe PHP yang sesuai.

Sintaksis

mixed json_decode ($json [,$assoc = false [, $depth = 512 [, $options = 0 ]]])

Paramaters

  • json_string - Ini adalah string yang disandikan yang harus berupa data yang dikodekan UTF-8.

  • assoc - Ini adalah parameter tipe boolean, ketika disetel ke TRUE, objek yang dikembalikan akan diubah menjadi array asosiatif.

  • depth - Ini adalah parameter tipe integer yang menentukan kedalaman rekursi

  • options - Ini adalah bitmask tipe integer dari JSON decode, JSON_BIGINT_AS_STRING didukung.

Contoh

Contoh berikut menunjukkan bagaimana PHP dapat digunakan untuk mendekode objek JSON -

<?php
   $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json));
   var_dump(json_decode($json, true));
?>

Saat menjalankan, itu akan menghasilkan hasil sebagai berikut -

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)
}

Bab ini membahas cara menyandikan dan mendekode objek JSON menggunakan bahasa pemrograman Perl. Mari kita mulai dengan mempersiapkan lingkungan untuk memulai pemrograman kita dengan Perl untuk JSON.

Lingkungan Hidup

Sebelum Anda mulai encoding dan decoding JSON menggunakan Perl, Anda perlu menginstal modul JSON, yang dapat diperoleh dari CPAN. Setelah Anda mengunduh JSON-2.53.tar.gz atau versi terbaru lainnya, ikuti langkah-langkah yang disebutkan di bawah ini -

$tar xvfz JSON-2.53.tar.gz
$cd JSON-2.53 $perl Makefile.PL
$make $make install

Fungsi JSON

Fungsi Perpustakaan
encode_json Mengonversi struktur data Perl yang diberikan menjadi string biner berenkode UTF-8.
decode_json Mendekode string JSON.
to_json Mengonversi struktur data Perl yang diberikan menjadi string json.
from_json Mengharapkan string json dan mencoba menguraikannya, mengembalikan referensi yang dihasilkan.
convert_blessed Gunakan fungsi ini dengan nilai true sehingga Perl dapat menggunakan metode TO_JSON pada kelas objek untuk mengubah objek menjadi JSON.

Mengenkode JSON di Perl (encode_json)

Fungsi encode_json () Perl mengubah struktur data Perl yang diberikan menjadi string biner yang dikodekan UTF-8.

Sintaksis

$json_text = encode_json ($perl_scalar );
or
$json_text = JSON->new->utf8->encode($perl_scalar);

Contoh

Contoh berikut menunjukkan array di bawah JSON dengan 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";

Saat menjalankan, ini akan menghasilkan hasil sebagai berikut -

{"e":5,"c":3,"a":1,"b":2,"d":4}

Contoh berikut menunjukkan bagaimana objek Perl dapat diubah menjadi JSON -

#!/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";

Saat menjalankan, itu akan menghasilkan hasil sebagai berikut -

{"birthdate":"8/5/1974 12:20:03 pm","name":"sachin","hobbies":"sports"}

Mendekode JSON di Perl (decode_json)

Fungsi perl decode_json () digunakan untuk mendekode JSON di Perl. Fungsi ini mengembalikan nilai yang diterjemahkan dari json ke jenis Perl yang sesuai.

Sintaksis

$perl_scalar = decode_json $json_text
or
$perl_scalar = JSON->new->utf8->decode($json_text)

Contoh

Contoh berikut menunjukkan bagaimana Perl dapat digunakan untuk memecahkan kode objek JSON. Di sini Anda perlu menginstal modul Data :: Dumper jika Anda belum memilikinya di komputer Anda.

#!/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);

Saat mengeksekusi, itu akan menghasilkan hasil sebagai berikut -

$VAR1 = {
   'e' => 5,
   'c' => 3,
   'a' => 1,
   'b' => 2,
   'd' => 4
};

Bab ini membahas cara menyandikan dan mendekode objek JSON menggunakan bahasa pemrograman Python. Mari kita mulai dengan mempersiapkan lingkungan untuk memulai pemrograman kita dengan Python untuk JSON.

Lingkungan Hidup

Sebelum Anda mulai dengan encoding dan decoding JSON menggunakan Python, Anda perlu menginstal modul JSON yang tersedia. Untuk tutorial ini kami telah mengunduh dan menginstal Demjson sebagai berikut -

$tar xvfz demjson-1.6.tar.gz
$cd demjson-1.6 $python setup.py install

Fungsi JSON

Fungsi Perpustakaan
menyandi Mengodekan objek Python menjadi representasi string JSON.
membaca sandi Mendekode string yang dikodekan JSON menjadi objek Python.

Enkode JSON dengan Python (encode)

Fungsi encode () Python mengkodekan objek Python menjadi representasi string JSON.

Sintaksis

demjson.encode(self, obj, nest_level=0)

Contoh

Contoh berikut menunjukkan array di bawah JSON dengan Python.

#!/usr/bin/python
import demjson

data = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]

json = demjson.encode(data)
print json

Saat menjalankan, ini akan menghasilkan hasil sebagai berikut -

[{"a":1,"b":2,"c":3,"d":4,"e":5}]

Decoding JSON dengan Python (decode)

Python dapat menggunakan fungsi demjson.decode () untuk mendekode JSON. Fungsi ini mengembalikan nilai yang diterjemahkan dari json ke jenis Python yang sesuai.

Sintaksis

demjson.decode(self, txt)

Contoh

Contoh berikut menunjukkan bagaimana Python dapat digunakan untuk mendekode objek JSON.

#!/usr/bin/python
import demjson

json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

text = demjson.decode(json)
print  text

Saat menjalankan, itu akan menghasilkan hasil sebagai berikut -

{u'a': 1, u'c': 3, u'b': 2, u'e': 5, u'd': 4}

Bab ini membahas cara menyandikan dan mendekode objek JSON menggunakan bahasa pemrograman Ruby. Mari kita mulai dengan mempersiapkan lingkungan untuk memulai pemrograman kita dengan Ruby untuk JSON.

Lingkungan Hidup

Sebelum Anda mulai dengan encoding dan decoding JSON menggunakan Ruby, Anda perlu menginstal modul JSON apa pun yang tersedia untuk Ruby. Anda mungkin perlu menginstal permata Ruby, tetapi jika Anda menjalankan versi Ruby terbaru maka Anda harus sudah menginstal permata di mesin Anda, jika tidak, mari ikuti satu langkah berikut dengan asumsi Anda sudah menginstal permata -

$gem install json

Parsing JSON menggunakan Ruby

Contoh berikut menunjukkan bahwa 2 kunci pertama menampung nilai string dan 3 kunci terakhir menampung array string. Mari simpan konten berikut dalam sebuah file bernamainput.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"
   ]
	
}

Diberikan di bawah ini adalah program Ruby yang akan digunakan untuk mengurai dokumen JSON yang disebutkan di atas -

#!/usr/bin/ruby
require 'rubygems'
require 'json'
require 'pp'

json = File.read('input.json')
obj = JSON.parse(json)

pp obj

Saat menjalankan, itu akan menghasilkan hasil sebagai berikut -

{
   "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"]
}

Bab ini membahas cara menyandikan dan mendekode objek JSON menggunakan bahasa pemrograman Java. Mari kita mulai dengan mempersiapkan lingkungan untuk memulai pemrograman kita dengan Java untuk JSON.

Lingkungan Hidup

Sebelum Anda mulai dengan encoding dan decoding JSON menggunakan Java, Anda perlu menginstal modul JSON apa pun yang tersedia. Untuk tutorial ini kami telah mengunduh dan menginstal JSON.simple dan telah menambahkan lokasijson-simple-1.1.1.jar file ke variabel lingkungan CLASSPATH.

Pemetaan antara entitas JSON dan Java

JSON. Entitas peta sederhana dari sisi kiri ke sisi kanan saat mendekode atau parsing, dan entitas peta dari kanan ke kiri saat encoding.

JSON Jawa
tali java.lang.String
jumlah java.lang.Number
benar | salah java.lang.Boolean
batal batal
Himpunan java.util.List
obyek java.util.Map

Saat mendekode, kelas beton default java.util.List adalah org.json.simple.JSONArray dan kelas beton default java.util.Map adalah org.json.simple.JSONObject .

Mengenkode JSON di Java

Berikut adalah contoh sederhana untuk menyandikan objek JSON menggunakan Java JSONObject yang merupakan subkelas dari java.util.HashMap. Tidak ada pemesanan yang disediakan. Jika Anda memerlukan pengurutan elemen yang ketat, gunakan metode JSONValue.toJSONString (peta) dengan implementasi peta yang diurutkan seperti 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);
   }
}

Saat menyusun dan menjalankan program di atas, hasil berikut akan dihasilkan -

{"balance": 1000.21, "num":100, "is_vip":true, "name":"foo"}

Berikut adalah contoh lain yang menunjukkan streaming objek JSON menggunakan 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);
   }
}

Saat menyusun dan menjalankan program di atas, hasil berikut dihasilkan -

{"balance": 1000.21, "num":100, "is_vip":true, "name":"foo"}

Decoding JSON di Java

Contoh berikut memanfaatkan JSONObject dan JSONArray di mana JSONObject adalah java.util.Map dan JSONArray adalah java.util.List, sehingga Anda dapat mengaksesnya dengan operasi standar Map atau List.

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);
      }
   }
}

Saat menyusun dan menjalankan program di atas, hasil berikut akan dihasilkan -

The 2nd element of array
{"1":{"2":{"3":{"4":[5,{"6":7}]}}}}

Field "1"
{"2":{"3":{"4":[5,{"6":7}]}}}
{}
[5]
[5,2]

AJAX adalah Asynchronous JavaScript dan XML, yang digunakan di sisi klien sebagai sekumpulan teknik pengembangan web yang saling terkait, untuk membuat aplikasi web asinkron. Menurut model AJAX, aplikasi web dapat mengirim dan mengambil data dari server secara asinkron tanpa mengganggu tampilan dan perilaku halaman yang ada.

Banyak pengembang menggunakan JSON untuk meneruskan pembaruan AJAX antara klien dan server. Situs web yang memperbarui skor olahraga langsung dapat dianggap sebagai contoh AJAX. Jika skor ini harus diperbarui di situs web, maka skor tersebut harus disimpan di server sehingga halaman web dapat mengambil skor saat diperlukan. Di sinilah kita dapat menggunakan data yang diformat JSON.

Setiap data yang diperbarui menggunakan AJAX dapat disimpan menggunakan format JSON di server web. AJAX digunakan agar javascript dapat mengambil file JSON ini jika diperlukan, mengurai, dan melakukan salah satu operasi berikut -

  • Simpan nilai yang diurai dalam variabel untuk diproses lebih lanjut sebelum menampilkannya di halaman web.

  • Ini secara langsung menetapkan data ke elemen DOM di halaman web, sehingga mereka ditampilkan di situs web.

Contoh

Kode berikut menunjukkan JSON dengan AJAX. Simpan sebagaiajax.htmmengajukan. Di sini fungsi pemuatan loadJSON () digunakan secara asinkron untuk mengunggah data JSON.

<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>

Diberikan di bawah ini adalah file input data.json, memiliki data dalam format JSON yang akan diunggah secara asinkron ketika kita mengklik Update Detailtombol. File ini disimpan dihttp://www.tutorialspoint.com/json/

{"name": "Brett", "country": "Australia"}

Kode HTML di atas akan menghasilkan layar berikut, di mana Anda dapat memeriksa AJAX beraksi -

Rincian Cricketer

Nama Negara
Sachin
India

Saat Anda mengklik Update Detailtombol, Anda akan mendapatkan hasil sebagai berikut. Anda dapat mencoba JSON dengan AJAX sendiri, asalkan browser Anda mendukung Javascript.

Rincian Cricketer

Nama Negara
Brett
Australia