[JAVA] Notes d'utilisation de base pour Jackson

Installer Jackson

build.gradle est le suivant.

build.gragle


// https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind
compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.9.9.1'

Utilisation de base

JSON que vous souhaitez convertir en objet

user.json


[
    {
        "name": "amy",
        "age": 10
    },
    {
        "name": "john",
        "age": 25
    },
    {
        "name": "lisa",
        "age": 49
    }
]

Classe qui mappe JSON

UserJson.class


public class UserJson {
	private String name;
	private String age;

	public void getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public void getAge() {
		return age;
	}

	public void setAge(String age) {
		this.age = age;
	}
}

Faire la cartographie

List<UserJson> userList = new ArrayList<UserJson>();
ObjectMapper mapper = new ObjectMapper();
try {
	user = mapper.readValue("chaîne json", new TypeReference<List<UserJson>>() {
	});
} catch (IOException e) {
	//Erreur
}

Lorsqu'il est mappé comme ci-dessus, le Json cible est ʻuserList(ʻList of UserJson Cela devient).

Si vous définissez getter dans ʻUserJson`, vous pouvez accéder à l'élément avec getter.

Exemple d'accès avec getter


System.out.println(userList.get(1).getName());
//Sortie: amy

tips

Changer la propriété en n'importe quelle valeur

Vous pouvez renommer les propriétés à l'aide d'annotations comme suit: (Par défaut, les noms de champ Java sont utilisés)

@JsonProperty("name")
private String firstName;

Ignorer les champs qui n'existent pas dans la classe mappée

Lors du mappage à partir de JSON, une erreur se produira s'il existe un champ qui existe dans `JSON mais n'existe pas dans la classe à mapper. Pour éviter cela, écrivez les annotations suivantes dans la cible de mappage.

UserJson.class


@JsonIgnoreProperties(ignoreUnknown = true)
public class UserJson {

...

Recommended Posts

Notes d'utilisation de base pour Jackson
Notes d'utilisation courantes de Jackson
Notes pour l'analyse AST
Notes d'étude de base de Maven
[Java] Notes de méthode de base
[Java] Instruction de base pour les débutants
swift CollectionView Utilisation super basique
Utilisation super basique d'Eclipse
Utilisation de base de Java Facultatif Partie 1
Notes pour les débutants en développement d'applications Android
Trier dans la liste, pour mémo personnel
Mémo d'utilisation de Spring Security Basic / mécanisme
Comment utiliser Thymeleaf avec Spring Boot
Commandes liées à Docker (notes commémoratives pour vous-même)