千家信息网

json框架的介绍以及Jackson返回结果的处理方式

发表于:2025-01-27 作者:千家信息网编辑
千家信息网最后更新 2025年01月27日,这篇文章主要介绍"json框架的介绍以及Jackson返回结果的处理方式",在日常操作中,相信很多人在json框架的介绍以及Jackson返回结果的处理方式问题上存在疑惑,小编查阅了各式资料,整理出简
千家信息网最后更新 2025年01月27日json框架的介绍以及Jackson返回结果的处理方式

这篇文章主要介绍"json框架的介绍以及Jackson返回结果的处理方式",在日常操作中,相信很多人在json框架的介绍以及Jackson返回结果的处理方式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"json框架的介绍以及Jackson返回结果的处理方式"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

json框架介绍,Jackson返回结果处理

介绍常用json框架和注解的使用,自定义返回json结构和格式

1、常用框架 阿里 fastjson,谷歌gson等

JavaBean序列化为Json,性能:Jackson > FastJson > Gson > Json-lib 同个结构

Jackson、FastJson、Gson类库各有优点,各有自己的专长

空间换时间,时间换空间

2、jackson处理相关自动

  • 指定字段不返回:@JsonIgnore

  • 指定日期格式:@JsonFormat(pattern="yyyy-MM-dd hh:mm:ss",locale="zh",timezone="GMT+8")

  • 空字段不返回:@JsonInclude(Include.NON_NUll)

  • 指定别名:@JsonProperty

实体类代码如下:

public class rData {        @JsonIgnore    private String code;    @JsonProperty(value = "agenum")    private int age;    @JsonFormat(pattern="yyyy-MM-dd hh:mm:ss",locale="zh",timezone="GMT+8")    private Date createDate;    @JsonInclude(JsonInclude.Include.NON_NULL)    private String name;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public Date getCreateDate() {        return createDate;    }    public void setCreateDate(Date createDate) {        this.createDate = createDate;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    public String getCode() {        return code;    }    public void setCode(String code) {        this.code = code;    }        public rData(String code, int age) {        this.code = code;        this.age = age;    }    public rData(String code, int age, Date createDate, String name) {        this.code = code;        this.age = age;        this.createDate = createDate;        this.name = name;    }}

测试类代码:

@RestControllerpublic class HttpController {    @GetMapping("/testjson")    public Object param6(){        return new rData("jackson",1,new Date(),"lion");    }}

结果:

{"createDate":"2018-09-18 09:36:31","name":"lion","agenum":1}

code被忽略了,所以不显示;age被别名代替"agenum"

使用jackson返回json数据

1、SpringMVC如何返回json数据

1.1、添加jar包

       com.fasterxml.jackson.core      jackson-databind      2.9.5  

1.2、配置spring文件,添加mvc命名空间和约束等

 xmlns:mvc="http://www.springframework.org/schema/mvc"  http://www.springframework.org/schema/mvc  http://www.springframework.org/schema/mvc/spring-mvc.xsd 

1.3、方法上添加@ResponseBody

 @ResponseBody

2、例子

2.1、配置pom.xml

           junit      junit      4.11      test              org.springframework      spring-webmvc      5.0.8.RELEASE              org.springframework      spring-web      5.0.8.RELEASE                  org.springframework      spring-core      5.0.8.RELEASE                  org.springframework      spring-context      5.0.8.RELEASE                  org.springframework      spring-beans      5.0.8.RELEASE                  org.springframework      spring-context-support      5.0.8.RELEASE                  org.springframework      spring-expression      5.0.8.RELEASE                  aopalliance      aopalliance      1.0              org.aspectj      aspectjweaver      1.8.13              org.springframework      spring-aspects      5.0.8.RELEASE              org.springframework      spring-aop      5.0.8.RELEASE                  com.fasterxml.jackson.core      jackson-databind      2.9.5      

2.2、配置spring.xml

                                                         

2.3、配置web.xml

  Archetype Created Web Application      springMvc    org.springframework.web.servlet.DispatcherServlet              contextConfigLocation      classpath:spring.xml            springMvc    /          characterEncodingFilter          org.springframework.web.filter.CharacterEncodingFilter              encoding      utf-8            characterEncodingFilter    /*  

2.4、添加User实体类

package com.fan.entity;import java.util.Arrays;import java.util.Date;public class User {    private String username;    private String password;    private int[] box;    private Date date;    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[] getBox() {        return box;    }    public void setBox(int[] box) {        this.box = box;    }    public Date getDate() {        return date;    }    public void setDate(Date date) {        this.date = date;    }    @Override    public String toString() {        return "User{" +                "username='" + username + '\'' +                ", password='" + password + '\'' +                ", box=" + Arrays.toString(box) +                ", date=" + date +                '}';    }}

2.5、 TestJsonController测试类

@Controllerpublic class TestJsonController {     //http://localhost:8080/testjson1    @RequestMapping("/testjson1")    @ResponseBody //返回json字符串注解    public User test(){        User user=new User();        user.setUsername("malijuan");        user.setPassword("123");        user.setBox(new int[]{1,2,3});        user.setDate(new Date());        return user;    }    //http://localhost:8080/testjson2    @RequestMapping("/testjson2")    @ResponseBody  //返回json字符串注解    public List test2(){        User user=new User();        List list=new ArrayList();        for(int i=0;i<5;i++){            user.setUsername("malijuan");            user.setPassword("123");            user.setBox(new int[]{1,2,3});            user.setDate(new Date());            list.add(user);        }        return list;    }}

2.6、启动tomcat测试

测试1

到此,关于"json框架的介绍以及Jackson返回结果的处理方式"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

框架 结果 处理 方式 学习 测试 配置 注解 空间 代码 别名 字段 字符 字符串 实体 常用 数据 方法 时间 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 安全性能较高的服务器 北京戴尔服务器虚拟化哪家好 广东一站式网络技术服务代理商 怎么玩ctf网络安全大赛 网络安全法哪一年生效 数据库执行崩溃 青岛即墨互联网工业科技 宁夏流体控制界面软件开发价格 sql数据库查询用户名命令 网络安全监管局负责人 宁夏网络安全工程师培训学校 网络安全初中版手抄报图片 重装上阵服务器打不开 软件开发倒排时间表 网络安全文科生可以自学吗 网络安全技术师报考条件 信号通路研究数据库 vscode 语言服务器开发 网络安全工作的长远规划 抓好网络安全营造良好舆论氛围 python 爬取数据库数据 手机版最强服务器 怎么查询数据库后五位 元气骑士为什么会服务器错误 用友t6怎么进到数据库 创建数据库磁盘 江苏电脑软件开发服务费 网络安全公司国企 国网软件开发技术架构 数据库启动不了跟内存条有关系吗
0