[JAVA] Mappage de json sur un objet déjà instancié

À une classe de bean qui ne peut pas utiliser le constructeur par défaut sans arguments Il peut être utilisé lors du mappage de Json.

La source


import java.io.IOException;
import java.util.LinkedHashMap;
import java.util.Map;

import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;

public class ObjectMapper2 extends ObjectMapper{
	public <T> T readValue(String content, T bean)
		        throws IOException, JsonParseException, JsonMappingException
	{
		// JSON -> Map
		Map<String,String> map = null;
		ObjectMapper mapper = new ObjectMapper();
		try {
			map = mapper.readValue(content, new TypeReference<LinkedHashMap<String,String>>(){});
		} catch (Exception e) {
			e.printStackTrace();
		}
		map.forEach( (key,value)->{
			try{
				org.apache.commons.lang3.reflect.FieldUtils.writeDeclaredField(bean, key, value, true);
			}catch(Exception e){
				e.printStackTrace();
			}
		});
		return bean;
	}

}

Votre interlocuteur

AbcBean bean = objectMapper.readValue(loginSessionJson, new AbcBean(null,null,null));

Recommended Posts

Mappage de json sur un objet déjà instancié
Convertir un objet ruby au format JSON
Comment stocker des objets dans PostgreSQL au format JSON avec MyBatis (Mapper XML)
Bibliothèque de mappage d'objets JAVA
19 Correspond à la création d'objet
Comment passer un objet à Mapper dans MyBatis sans passer par un argument
Mappage à une classe avec un objet de valeur dans How to My Batis
Qu'est-ce qu'un objet immuable? [Explication comment faire]