JSON, verileri metin olarak temsil etmek için en popüler biçimlerden biridir. Örneğin JSON, konfigürasyon dosyalarında, oyunlarda, metin editörlerinde ve daha birçok alanda ön uç ile arka uç arasında veri aktarımı için kullanılır. Bir programcı olarak kesinlikle JSON ile karşılaşacaksınız.

sözdizimi tanıtımı

JSON'da bulunan veri türlerini listeleyelim:

  1. Dizeler, çift tırnak içine alınmış herhangi bir karakterdir:

    "kwerty"
    "125 + 42"
    "G"

    Özel karakterler bir eğik çizgi ile kaçılır:

    "ilk satır\nikinci satır"
    "'Merhaba!' dedi"
  2. Negatif ve gerçek sayılar dahil olmak üzere sayılar. Alıntı yok:

    18 -333 17,88 1,2e6
  3. Boolean değerleri true / false şeklindedir (tırnak işaretleri yoktur).

  4. null, "hiçbir şeyi" temsil eden standart değerdir. Burada tırnak işareti kullanılmaz.

  5. Dizi – Bu tür, diğer tüm türlerin değerlerini içerebilir. Köşeli parantez içine alınır. Öğeleri virgülle ayrılır:

    ["Kod", "Spor Salonu", "KodGym", "¯\_(ツ)_/¯"]
    [doğru, doğru, yanlış, doğru, yanlış, yanlış, yanlış, yanlış, yanlış]
    [[1, 2], [3, 999, 4, -5], [77]]

    Son örnek bir dizi dizisidir

  6. Nesne — Bu karmaşık tür, en sık kullanılandır. Değerin yukarıda listelenen türlerden herhangi biri olabileceği anahtar-değer çiftlerini ve diğer nesneleri içerir. Kıvrımlı parantez içine alınır ve çiftler virgülle ayrılır:

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

Bir Java nesnesini JSON olarak temsil etme

Şimdi bir Java nesnesi alalım ve JSON olarak neye benzediğini görelim.

Öncelikle bir sınıf tanımlayalım:


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

Şimdi nesnemizi oluşturalım:


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

Ve şimdi temsil etmeye çalışalımoğulJSON formatında mümkün olduğunca doğru bir şekilde nesne:

{
 "isim" : "Paul",
 "erkek" : doğru,
 "yaş" : 7,
 "ebeveynler" : [
 {
   "isim" : "Peter",
   "erkek" : doğru,
   "yaş" : 31,
   "ebeveynler" : null
 },
 {
   "isim" : "Maria",
   "erkek" : yanlış,
   "yaş" : 28,
   "ebeveynler" : null
 }
]
}

JSON'daki yorumlar

Buradaki her şey Java'dakiyle tamamen aynı. İki tür yorum vardır: // ve /*...*/. Umarım size nasıl farklı olduklarını hatırlatmama gerek yoktur?