[JAVA] Zuordnung von json zu einem bereits instanziierten Objekt

Zu einer Bean-Klasse, die den Standardkonstruktor ohne Argumente nicht verwenden kann Es kann beim Mapping von Json verwendet werden.

Quelle


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

}

Anrufer

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

Recommended Posts

Zuordnung von json zu einem bereits instanziierten Objekt
Konvertieren Sie das Ruby-Objekt in das JSON-Format
Speichern von Objekten in PostgreSQL als JSON mit MyBatis (Mapper XML)
JAVA-Objektzuordnungsbibliothek
19 Entspricht der Objekterstellung
So übergeben Sie ein Objekt in MyBatis an Mapper, ohne ein Argument durchzugehen
Zuordnung zu einer Klasse mit einem Wertobjekt in How to My Batis
Was ist ein unveränderliches Objekt? [Erklärung, wie man macht]