JSON ialah salah satu format yang paling popular untuk mewakili data sebagai teks. Sebagai contoh, JSON digunakan untuk memindahkan data antara bahagian hadapan dan bahagian belakang, dalam fail konfigurasi, dalam permainan, dalam editor teks dan dalam banyak kawasan lain. Sebagai seorang pengaturcara, anda pasti akan menghadapi JSON.

Memperkenalkan sintaks

Mari senaraikan jenis data yang tersedia dalam JSON:

  1. Rentetan ialah sebarang aksara yang disertakan dalam petikan berganda:

    "kwerty"
    "125 + 42"
    "G"

    Watak istimewa dilarikan dengan garis miring:

    "baris pertama\nbaris kedua"
    "Dia berkata, \"Hello!\""
  2. Nombor, termasuk nombor negatif dan nyata. Tiada petikan:

    18 -333 17.88 1.2e6
  3. Nilai Boolean adalah benar / salah (tiada petikan).

  4. null ialah nilai standard untuk mewakili "tiada". Tiada tanda petikan digunakan di sini.

  5. Tatasusunan − Jenis ini boleh mengandungi nilai mana-mana jenis lain. Ia dibalut dalam kurungan segi empat sama. Unsur-unsurnya dipisahkan dengan koma:

    ["Kod", "Gym", "CodeGym", "¯\_(ツ)_/¯"]
    [benar, benar, salah, benar, salah, palsu, palsu, palsu, palsu]
    [[1, 2], [3, 999, 4, -5], [77]]

    Contoh terakhir ialah tatasusunan tatasusunan

  6. Objek — Jenis kompleks ini adalah yang paling biasa digunakan. Ia mengandungi pasangan nilai kunci, yang mana nilainya boleh menjadi mana-mana jenis yang disenaraikan di atas, serta objek lain. Ia dibalut dengan pendakap kerinting, dan pasangan dipisahkan dengan koma:

    
    {
     "name": "Dale",
     "age": 7
    }
    

Mewakili objek Java sebagai JSON

Sekarang mari kita ambil beberapa objek Java dan lihat rupanya sebagai JSON.

Pertama, mari kita tentukan kelas:


public class Human {
	String name;
	boolean male;
	int age;
	Set<Human> parents;

	public Human(String name, boolean male, int age) {
    	    this.name = name;
    	    this.male = male;
    	    this.age = age;
	}
}

Sekarang mari buat objek kami:


	Human father = new Human("Peter", true, 31);
	Human mother = new Human("Mary", false, 28);
	mother.parents = new HashSet<>();
	Human son = new Human("Paul", true, 7);
	son.parents = Set.of(father, mother);

Dan sekarang mari cuba mewakilianak lelakiobjek setepat mungkin dalam format JSON:

{
 "nama" : "Paul",
 "lelaki" : benar,
 "umur" : 7,
 "ibu bapa" : [
 {
   "nama" : "Peter",
   "lelaki" : benar,
   "umur" : 31,
   "ibu bapa" : null
 },
 {
   "nama" : "Maria",
   "lelaki" : palsu,
   "umur" : 28,
   "ibu bapa" : null
 }
]
}

Komen dalam JSON

Semuanya di sini sama seperti di Jawa. Terdapat dua jenis ulasan: // dan /*...*/. Saya harap saya tidak perlu mengingatkan anda bagaimana mereka berbeza?