JavaにおけるJsonオブジェクトとPOJO(javaオブジェクト,JavaBean)の相互変換

2429 ワード


概要
Maven依存とツールクラス統合を使用すると、コード内でツールクラスを直接呼び出して変換できます.
方法
Maven依存

	com.fasterxml.jackson.core
	jackson-databind
	2.3.2

ツールクラスJsonUtils
import java.util.List;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;

/**
 * @Description:        ,    
 */
public class JsonUtils {

    //   jackson  
    private static final ObjectMapper MAPPER = new ObjectMapper();

    /**
     *       json   。
     * 

Title: pojoToJson

*

Description:

* @param data * @return */ public static String objectToJson(Object data) { try { String string = MAPPER.writeValueAsString(data); return string; } catch (JsonProcessingException e) { e.printStackTrace(); } return null; } /** * json * * @param jsonData json * @param clazz object * @return */ public static T jsonToPojo(String jsonData, Class beanType) { try { T t = MAPPER.readValue(jsonData, beanType); return t; } catch (Exception e) { e.printStackTrace(); } return null; } /** * json pojo list *

Title: jsonToList

*

Description:

* @param jsonData * @param beanType * @return */ public static List jsonToList(String jsonData, Class beanType) { JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType); try { List list = MAPPER.readValue(jsonData, javaType); return list; } catch (Exception e) { e.printStackTrace(); } return null; } }

使用
pojo回転json
String jsonString = JsonUtils.objectToJson(PojoName);

json回転pojoフォーマット
ClassName className = JsonUtils.jsonToPojo(JsonString, ClassName.class)

たとえば
User user = new User();
user.setUsername("admin");
user.setPassword("123456");

String jsonStr = JsonUtils.objectToJson(user);

User result = JsonUtils.jsonToPojo(jsonStr, User.class);

System.out.println(result.getUsername());