Retour sur JSON géré par Java

Préface

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)

Principes de base JSON

Lorsque vous traitez avec JSON en Java, gérez la chaîne écrite au format JSON  String→POJO POJO → Chaîne etc.

Règles de format JSON (lecture)

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

Traitement de Jackson

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

Autre

・ 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

Recommended Posts

Retour sur JSON géré par Java
Retour sur les bases de Java
Progatez Ruby on Rails
Lire JSON en Java
Installez Java sur Mac
Exécutez PostgreSQL sur Java
~ Rétrospective orientée objet maintenant ~
POST JSON en Java
Créer JSON en Java