Java:
Arbeta med JSON
Hur man gör:
Låt oss kavla upp ärmarna och börja koda med JSON i Java.
För det första, du behöver ett JSON-behandlande bibliotek som Jackson
eller Google Gson
. Här kommer vi att använda Jackson
, så lägg till detta beroende i din pom.xml
:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.1</version>
</dependency>
Nu, låt oss serialisera (skriva) ett enkelt Java-objekt till JSON:
import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonExample {
public static void main(String[] args) {
try {
ObjectMapper mapper = new ObjectMapper();
Person person = new Person("Alex", 30);
String json = mapper.writeValueAsString(person);
System.out.println(json);
} catch (Exception e) {
e.printStackTrace();
}
}
}
class Person {
public String name;
public int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
Utmatningen bör vara:
{"name":"Alex","age":30}
Nu, för att avserialisera (läsa) JSON tillbaka till ett Java-objekt:
import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonExample {
public static void main(String[] args) {
String json = "{\"name\":\"Alex\",\"age\":30}";
try {
ObjectMapper mapper = new ObjectMapper();
Person person = mapper.readValue(json, Person.class);
System.out.println(person.name + " är " + person.age + " år gammal.");
} catch (Exception e) {
e.printStackTrace();
}
}
}
Utmatningen kommer att vara:
Alex är 30 år gammal.
Fördjupning
JSONs enkelhet och effektivitet har gjort det till standarden för datautbyte på webben, vilket har omkullkastat XML från dess tron. Introducerat i början av 2000-talet, härstammar JSON från JavaScript men stöds nu i de flesta språk.
Alternativ till JSON inkluderar XML, som är mer verbose, och binära format som Protocol Buffers eller MessagePack, som är mindre läsbara för människor men mer effektiva i storlek och hastighet. Varje har sina användningsområden; valet beror på dina specifika databehov och sammanhang.
I Java, bortom Jackson
och Gson
, har vi JsonB
och org.json
som andra bibliotek för att hantera JSON. Jackson erbjuder strömbaserad bearbetning och är känt för hastighet, medan Gson är hyllat för sin enkelhet i användning. JsonB är en del av Jakarta EE, som erbjuder en mer standardiserad metod.
När du implementerar JSON, kom ihåg att hantera dina undantag på rätt sätt - din kod bör vara robust mot dåliga inmatningar. Överväg även säkerhetsaspekterna av automatisk databindning – validera alltid dina indata!