JSON (JavaScript Object Notation) je jednoduchý formát pro výměnu dat. Je zabalen do složených závorek a obsahuje dvojice klíč : hodnota. Na rozdíl od xml není tak upovídaný.
Jackson je populární javovská knihovna pro převod Java objektů do JSON a naopak.
Nejjednodušším způsobem jak převést Java objekt na JSON formát a naopak je použít com.fasterxml.jackson.databind.ObjectMapper
. Pro to, abychom mohli ObjectMapper použít je třeba do pom.xml (v Maven projektu) přidat závislost na následující knihovně. Nejaktuálnější verze v době psaní tohoto příspěvku je 2.8.5:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.5</version>
</dependency>
Vytvoříme si objekt, který budeme ukládat a načítat do JSON formátu.
MyObject.java
public class MyObject {
private long myNumber;
private boolean myBoolean;
private String myString;
public MyObject(long myNumber, boolean myBoolean, String myString) {
this.myNumber = myNumber;
this.myBoolean = myBoolean;
this.myString = myString;
}
// Pro načítání z JSON je třeba mít bezparametrický konstruktor.
public MyObject() {}
public long getMyNumber() {
return myNumber;
}
public void setMyNumber(long myNumber) {
this.myNumber = myNumber;
}
public boolean isMyBoolean() {
return myBoolean;
}
public void setMyBoolean(boolean myBoolean) {
this.myBoolean = myBoolean;
}
public String getMyString() {
return myString;
}
public void setMyString(String myString) {
this.myString = myString;
}
}
V hlavní třídě vytvoříme instanci object mapperu, instanci našeho objektu a pro ukládání voláme metodu writeValue()
, pro načtení readValue()
.
Číst dál