一、JackSon
maven依赖:(springboot中只要导入了spring-boot-starter-web会传递依赖,可以直接使用)
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.3</version>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.3</version>
</dependency>
示例:
Map<String, Object> resultMap = new HashMap<String, Object>();
resultMap.put("code",0);
resultMap.put("message","请求成功");
resultMap.put("data",body);
resultMap.put("timestamp",System.currentTimeMillis());
ObjectMapper objectMapper = new ObjectMapper();
try {
// 生成json
final String s = objectMapper.writer().writeValueAsString(objectMapper);
// 解析json
final Object o = objectMapper.reader().readValue(s);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
二、GSon(谷歌)
maven依赖:
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.2</version>
</dependency>
示例:
Map<String, Object> resultMap = new HashMap<String, Object>();
resultMap.put("code",0);
resultMap.put("message","请求成功");
resultMap.put("data",body);
resultMap.put("timestamp",System.currentTimeMillis());
Gson gson = new Gson();
// 生成json
final String s = gson.toJson(resultMap);
// 解析json,并指定解析对象类型
final Map o = gson.fromJson(s, Map.class);
三、FastJson(阿里)
maven依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.51</version>
</dependency>
示例:
Map<String, Object> resultMap = new HashMap<String, Object>();
resultMap.put("code",0);
resultMap.put("message","请求成功");
resultMap.put("data",body);
resultMap.put("timestamp",System.currentTimeMillis());
// 生成json
final String s = JSON.toJSONString(resultMap);
// 解析json,并指定解析对象类型
final Object o = JSON.parseObject(s, Object.class);