之前用的gson,尽管很方便,但是今天公司项目要求用jackson,快速学习一下
一.快速读、写:
参考:http://www.hankcs.com/program/java-object-to-json-demo.html
public class Main
{
public static void main(String[] args)
{
ObjectMapper mapper = new ObjectMapper(); // can reuse, share globally
try
{
// 读取JSON数据
Map<String,Object> userData = mapper.readValue(new File("user.json"), Map.class);
System.out.println(userData);
// 写入JSON数据
userData = new HashMap<String,Object>();
Map<String,String> nameStruct = new HashMap<String,String>();
nameStruct.put("first", "Joe");
nameStruct.put("last", "Hankcs");
userData.put("name", nameStruct);
userData.put("gender", "MALE");
userData.put("verified", Boolean.FALSE);
userData.put("userImage", "Rm9vYmFyIQ==");
mapper.writeValue(new File("user-modified.json"), userData);
} catch (IOException e)
{
e.printStackTrace();
}
}
}
结果输出:
{name={first=Joe, last=Sixpack}, gender=MALE, verified=false, userImage=Rm9vYmFyIQ==}
{"verified":false,"name":{"last":"Hankcs","first":"Joe"},"userImage":"Rm9vYmFyIQ==","gender":"MALE"}
二.对象–json
String json=mapper.writeValueAsString(user); //将对象转换成json
三.json–map
Map m = (Map) mapper.readValue(json, Map.class); //json转换成map
四.map–json
json=mapper.writeValueAsString(m); //map转json
五.json–对象
User u=(User) mapper.readValue(json, User.class); //json转java对象。