J'ai remarqué que je manquais de connaissances en matière de JSON. Je voudrais résumer au niveau qu'il est possible de gérer JSON au moins avec java s'il n'y a que cela (La bibliothèque utilise JSONIC)
Lorsque vous traitez avec JSON en Java, gérez la chaîne écrite au format JSON String→POJO POJO → Chaîne etc.
① La structure de la liste est entourée de [] ② La structure POJO est entourée de {} ③ Aucune partie ne spécifie le nom de la structure POJO qui est le parent Je pense que vous pouvez le lire dès que vous vous souvenez des trois ci-dessus
échantillon
{
"id": 1,
"name": "shoes",
"price": 12000,
"shops": [
{
"name": "Astore",
"location": "tokyo"
},
{
"name": "Bstore",
"location": "oosaka"
}
]
}
Exemple de 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;
}
Lors de l'utilisation du JSON et du POJO ci-dessus
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);
Lorsqu'il est envoyé dans la structure d'une liste ou d'une carte
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 donnera une erreur si chaque propriété est pulic ou n'a pas Getter / Setter. -Une erreur se produira s'il y a une propriété que POJO n'a pas lors de la conversion de JSON en Java. → Si vous ajoutez "@JsonIgnoreProperties (ignoreUnknown = true)" à POJO, aucune erreur ne se produira. → Seules les données nécessaires peuvent être extraites