Java中常用解析工具jackson及fastjson的使用

一、maven安装jackson依赖

com.fasterxml.jackson.corejackson-databind2.12.3

二、Jackson的使用 实体类转化JSON
把实体类转化为JSON格式数据,返回给前端
创建 ObjectMapper obj = new ObjectMapper(); 对象,对象的 writeValueAsString 方法 会把一个实体类(必须有get、set方法)转化为JSON对象。
package com.lxc.springboot.controller; import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController // 这个类下边的所有方法,都会返回json,不会返回一个视图!public class Json { @RequestMapping(value = "https://www.it610.com/json")public String json() throws Exception{User user = new User("吕星辰", "888", 20); ObjectMapper obj = new ObjectMapper(); String jsonObject = obj.writeValueAsString(user); return jsonObject; }// 为测试方便,在这里写一个实体类public static class User {private String userName; public String getUserName() {return userName; } public void setUserName(String userName) {this.userName = userName; } public String getPassword() {return password; } public void setPassword(String password) {this.password = password; } public int getAge() {return age; } public void setAge(int age) {this.age = age; } private String password; private int age; public User(String userName, String password, int age) {this.userName = userName; this.password = password; this.age = age; }}}

测试:
Java中常用解析工具jackson及fastjson的使用
文章图片

集合转化JSON
前端结果是:一个数组,里边是一个个对象
package com.lxc.springboot.controller; import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; @RestControllerpublic class Json { @RequestMapping(value = "https://www.it610.com/json")public String json() throws Exception{// 创建一个集合List userList = new ArrayList<>(); for(int i = 0; i < 3; i ++) {userList.add(new User("用户名"+i, "密码"+i, 20+i)); }ObjectMapper obj = new ObjectMapper(); String jsonObject = obj.writeValueAsString(userList); return jsonObject; }// 上边有实体类,这里省略}

测试:
Java中常用解析工具jackson及fastjson的使用
文章图片

Map转化JSON
@RestControllerpublic class Json { @RequestMapping(value = "https://www.it610.com/json")public String json() throws Exception{// 创建一个MapMap map = new HashMap<>(); map.put("name", "测试名"); map.put("age", 20); ObjectMapper obj = new ObjectMapper(); String jsonObject = obj.writeValueAsString(map); return jsonObject; }}

前端结果是:对象
Java中常用解析工具jackson及fastjson的使用
文章图片

new Date() 转化JSON
@RestControllerpublic class Json { @RequestMapping(value = "https://www.it610.com/json")public String json() throws Exception{Date date = new Date(); ObjectMapper obj = new ObjectMapper(); String jsonObject = obj.writeValueAsString(date); return jsonObject; }}

前端结果是:时间戳
Java中常用解析工具jackson及fastjson的使用
文章图片

当然,也可以自定义时间格式
@RestControllerpublic class Json { @RequestMapping(value = "https://www.it610.com/json")public String json() throws Exception{Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String time = sdf.format(date); // "2021-06-27 05:19:33"ObjectMapper obj = new ObjectMapper(); String jsonObject = obj.writeValueAsString(time); return jsonObject; }}

封装
package com.lxc.springboot.utils; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; import java.text.SimpleDateFormat; public class JavaUtils {/***使用下边方法需要导入依赖包:* *com.fasterxml.jackson.core*jackson-databind*2.12.3* ** @param object 集合(List)、Map(HashMap)、对象(new Date)* @param format 时间格式化yyyy-MM-dd hh:mm:ss* @return JSON格式化的字符串*/public static String getJson(Object object, String format) {ObjectMapper objectMapper = new ObjectMapper(); // 不使用时间戳的方式objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); // 自定义时间格式SimpleDateFormat sdf = new SimpleDateFormat(format); // 设置时间格式化objectMapper.setDateFormat(sdf); try {String jsonValue = https://www.it610.com/article/objectMapper.writeValueAsString(object); return jsonValue; } catch (JsonProcessingException e) {e.printStackTrace(); }return null; }public static String getJson(Object object) {return getJson(object,"yyyy-MM-dd hh:mm:ss"); }}

三、FastJson的使用 使用maven导入依赖包
com.alibabafastjson1.2.70

常用方法:
(1)JSON.toJSONString(obejct) - java对象转JSON字符串
(2)JSON.parseObject(string, User.class) - JSON字符串转java对象
使用
@RestControllerpublic class Json { @RequestMapping(value = "https://www.it610.com/json")public String json() throws Exception{List userList = new ArrayList<>(); userList.add(new User("1", "1", 20)); String res = JSON.toJSONString(userList); return res; }

Java中常用解析工具jackson及fastjson的使用
文章图片

【Java中常用解析工具jackson及fastjson的使用】到此这篇关于Java中常用解析工具jackson及fastjson的使用的文章就介绍到这了,更多相关jackson和fastjson的使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    推荐阅读