JSON-dataformat

All lectures for SV purposes
Nivå, Lektion
Tillgängliga

JSON är ett av de mest populära formaten för att representera data som text. JSON används till exempel för att överföra data mellan frontend och backend, i konfigurationsfiler, i spel, i textredigerare och i många andra områden. Som programmerare kommer du definitivt att stöta på JSON.

Introduktion till syntaxen

Låt oss lista de datatyper som är tillgängliga i JSON:

  1. Strängar är alla tecken som omges av dubbla citattecken:

    "kwerty"
    "125 + 42"
    "G"

    Specialtecken undviks med ett snedstreck:

    "första raden\nandra raden"
    "Han sa,"Hej!""
  2. Tal, inklusive negativa och reella tal. Inga citat:

    18 -333 17,88 1,2e6
  3. De booleska värdena är sant / falskt (inga citattecken).

  4. null är standardvärdet för att representera "ingenting". Inga citattecken används här.

  5. Array − Denna typ kan innehålla värden av alla andra typer. Den är inslagen i hakparenteser. Dess element är separerade med kommatecken:

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

    Det sista exemplet är en array av arrayer

  6. Objekt — Denna komplexa typ är den vanligaste. Den innehåller nyckel-värdepar, där värdet kan vara vilken som helst av de typer som anges ovan, såväl som andra objekt. Den är inlindad i lockiga hängslen, och paren är åtskilda med kommatecken:

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

Representerar ett Java-objekt som JSON

Låt oss nu ta ett Java-objekt och se hur det ser ut som JSON.

Låt oss först definiera en klass:


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

Låt oss nu skapa vårt objekt:


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

Och låt oss nu försöka representerasonobjekt så exakt som möjligt i JSON-format:

{
 "name" : "Paul",
 "male" : true,
 "age" : 7,
 "parents" : [
 {
   "name" : "Peter",
   "male" : true,
   "age" : 31,
   "parents" : null
 },
 {
   "name" : "Maria",
   "male" : false,
   "age" : 28,
   "parents" : null
 }
]
}

Kommentarer i JSON

Allt här är exakt detsamma som i Java. Det finns två typer av kommentarer: // och /*...*/. Jag hoppas att jag inte behöver påminna dig om hur de skiljer sig åt?

Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION