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