使用 Jackson Object Mapper
Pojo 模型
public class Model {
private String firstName;
private String lastName;
private int age;
/* Getters and setters not shown for brevity */
}
示例:String to Object
Model outputObject = objectMapper.readValue(
"{\"firstName\":\"John\",\"lastName\":\"Doe\",\"age\":23}",
Model.class);
System.out.println(outputObject.getFirstName());
//result: John
示例:物件到字串
String jsonString = objectMapper.writeValueAsString(inputObject));
//result: {"firstName":"John","lastName":"Doe","age":23}
細節
需要匯入語句:
import com.fasterxml.jackson.databind.ObjectMapper;
ObjectMapper
例項
//creating one
ObjectMapper objectMapper = new ObjectMapper();
ObjectMapper
是執行緒安全的- 建議:擁有一個共享的靜態例項
反序列化:
<T> T readValue(String content, Class<T> valueType)
- 需要指定
valueType
- 返回將是這種型別 - 丟擲
IOException
- 在低階 I / O 問題的情況下JsonParseException
- 如果基礎輸入包含無效內容JsonMappingException
- 如果輸入的 JSON 結構與物件結構不匹配
用法示例(jsonString 是輸入字串):
Model fromJson = objectMapper.readValue(jsonString, Model.class);
序列化方法:
String writeValueAsString(Object value)
- 丟擲
JsonProcessingException
如果出錯- 注意:在 2.1 版之前,throws 子句包含 IOException; 2.1 刪除它。