Ang JSON ay isa sa mga pinakasikat na format para sa kumakatawan sa data bilang text. Halimbawa, ginagamit ang JSON upang maglipat ng data sa pagitan ng frontend at backend, sa mga configuration file, sa mga laro, sa mga text editor, at sa maraming iba pang lugar. Bilang isang programmer, tiyak na makakatagpo ka ng JSON.

Ipinapakilala ang syntax

Ilista natin ang mga uri ng data na available sa JSON:

  1. Ang mga string ay anumang mga character na nakapaloob sa double quotes:

    "kwerty"
    "125 + 42"
    "G"

    Ang mga espesyal na character ay nakatakas gamit ang isang slash:

    "unang linya\npangalawang linya"
    "Sabi niya, \"Hello!\""
  2. Mga numero, kabilang ang mga negatibo at tunay na numero. Walang quotes:

    18 -333 17.88 1.2e6
  3. Ang mga halaga ng Boolean ay totoo / mali (walang mga panipi).

  4. Ang null ay ang karaniwang halaga upang kumatawan sa "wala". Walang mga panipi na ginagamit dito.

  5. Array − Ang ganitong uri ay maaaring maglaman ng mga halaga ng anumang iba pang uri. Ito ay nakabalot sa mga square bracket. Ang mga elemento nito ay pinaghihiwalay ng mga kuwit:

    ["Code", "Gym", "CodeGym", "¯\_(ツ)_/¯"]
    [totoo, totoo, mali, totoo, mali, mali, mali, mali, mali]
    [[1, 2], [3, 999, 4, -5], [77]]

    Ang huling halimbawa ay isang hanay ng mga array

  6. Bagay — Ang kumplikadong uri na ito ang pinakakaraniwang ginagamit. Naglalaman ito ng mga pares ng key-value, kung saan ang value ay maaaring alinman sa mga uri na nakalista sa itaas, pati na rin ang iba pang mga bagay. Ito ay nakabalot sa mga kulot na brace, at ang mga pares ay pinaghihiwalay ng mga kuwit:

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

Kinakatawan ang isang Java object bilang JSON

Ngayon, kumuha tayo ng ilang Java object at tingnan kung ano ang hitsura nito bilang JSON.

Una, tukuyin natin ang isang klase:


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

Ngayon likhain natin ang ating object:


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

At ngayon subukan nating kumatawan saanakobject nang tumpak hangga't maaari sa JSON format:

{
 "pangalan" : "Paul",
 "lalaki" : totoo,
 "edad" : 7,
 "mga magulang" : [
 {
   "pangalan" : "Peter",
   "lalaki" : totoo,
   "edad" : 31,
   "mga magulang" : null
 },
 {
   "pangalan" : "Maria",
   "lalaki" : false,
   "edad" : 28,
   "mga magulang" : null
 }
]
}

Mga komento sa JSON

Ang lahat dito ay eksaktong kapareho ng sa Java. Mayroong dalawang uri ng komento: // at /*...*/. Sana hindi ko na kailangang ipaalala sa iyo kung paano sila naiiba?