Mir ist aufgefallen, dass mir im Umgang mit JSON das Wissen fehlte. Ich möchte zusammenfassen, dass es möglich ist, JSON zumindest mit Java zu handhaben, wenn es nur dies gibt (Die Bibliothek verwendet JSONIC)
Behandeln Sie beim Umgang mit JSON in Java den im JSON-Format geschriebenen String String→POJO POJO → String etc.
① Die Listenstruktur ist in [] enthalten ② Die POJO-Struktur ist von {} umgeben ③ Es gibt keinen Teil, der den Namen der POJO-Struktur angibt, die das übergeordnete Element ist Ich denke, Sie können es lesen, sobald Sie sich an die obigen drei erinnern
Stichprobe
{
"id": 1,
"name": "shoes",
"price": 12000,
"shops": [
{
"name": "Astore",
"location": "tokyo"
},
{
"name": "Bstore",
"location": "oosaka"
}
]
}
Beispiel POJO
public class Product {
public Integer id;
public String name;
public Integer price;
public List<Shop> shops;
}
public class Shop {
public String name;
public String location;
}
Bei Verwendung des obigen JSON und POJO
JSON→Java
String json = "{\"id\": 1,\"name\": \"shoes\",\"price\": 12000,\"shops\": [{\"name\": \"Astore\",\"location\": \"tokyo\"},{\"name\": \"Bstore\",\"location\": \"oosaka\"}]}";
ObjectMapper mapper = new ObjectMapper();
Product data = mapper.readValue(json, Product.class);
Beim Senden in der Struktur einer Liste oder Karte
ObjectMapper mapper = new ObjectMapper();
List<Product> products = mapper.readValue(json, new TypeReference<List<Product>>() {});
Java→JSON
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(product);
・ POJO gibt einen Fehler aus, wenn jede Eigenschaft pulic ist oder keinen Getter / Setter hat.