1.添加依赖
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-lgpl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-lgpl</artifactId>
<version>1.9.13</version>
</dependency>
2.Json转化javaBean、Map、List
方法:
使用readValue,传入指定类型即可
(1)String形式
使用Map
@Test
public void test() throws JsonParseException, JsonMappingException, IOException {
String s = "{\"verified\":false,"
+ "\"name\":{\"last\":\"Hankcs\",\"first\":\"Joe\"},"
+ "\"userImage\":\"Rm9vYmFyIQ==\","
+ "\"gender\":\"MALE\"}";
ObjectMapper mapper = new ObjectMapper();
Map<String, Object> map = mapper.readValue(s, Map.class);
for(Entry<String, Object> entry:map.entrySet())
{
System.out.println(entry.getKey()+" "+entry.getValue());
}
}
结果为:
verified false
name {last=Hankcs, first=Joe}
userImage Rm9vYmFyIQ==
gender MALE
使用javaBean
String s = "{\"verified\":false,"
+ "\"name\":{\"last\":\"Hankcs\",\"first\":\"Joe\"},"
+ "\"userImage\":\"Rm9vYmFyIQ==\","
+ "\"gender\":\"MALE\"}";
ObjectMapper mapper = new ObjectMapper();
User user = mapper.readValue(s, User.class);
System.out.println(user);
(2)文件形式
ObjectMapper mapper = new ObjectMapper();
Map<String, Object> map = mapper.readValue(new File("user.jason"), Map.class);
for(Entry<String, Object> entry:map.entrySet())
{
System.out.println(entry.getKey()+" "+entry.getValue());
}
其中user.json内容为:
{
"verified":false,
"name":
{
"last":"Hankcs",
"first":"Joe"
},
"userImage":"Rm9vYmFyIQ==",
"gender":"MALE"
}
结果为:
verified false
name {last=Hankcs, first=Joe}
userImage Rm9vYmFyIQ==
gender MALE
2.Map、javaBean转化为Json
直接将map、javaBean对象传入writeValue或者writeValueAsString即可
(1)写入json文件
Map<String, Object> map = new HashMap<String, Object>();
map.put("name", "lisa");
map.put("age", new Integer(18));
map.put("user", new User(12,"Tom"));
mapper.writeValue(new File("result.json"), map);
结果为:
{"age":18,"name":"lisa","user":{"age":12,"name":"Tom"}}
(2)json字符串
String result = mapper.writeValueAsString(user);
System.out.println(result);