首页 > 编程语言 >java对象转json

java对象转json

时间:2022-08-21 10:11:31浏览次数:55  
标签:java String 对象 Person json new public name

java对象转json

json解析器:

  常见的解析器:Jsonlib,Gson,fastjson,jackson

使用步骤:

  1、导入jackson的相关jar包

  2、创建Jackson核心对象 ObjectMapper

  3、调用ObjectMapper的相关方法进行转换

转换方法:

writeValue(参数1,obj);
参数1:
File:将obj对象转换诶JSON字符串,并保存到指定的文件中
Writer:将obj对象转换为JSON字符串,并将json数据填充到字符输出流中
OutputStream:将obj对象转换为JSON字符串,并将json数据填充到字节输出流中
writeValueAsString(obj):将对象转为json字符串

Person对象实体类:

public class Person {
    private String name;
    private int age;
    private String gender;

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", gender='" + gender + '\'' +
                '}';
    }

    public Person() {
    }

    public Person(String name, int age, String gender) {
        this.name = name;
        this.age = age;
        this.gender = gender;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }
}

java转json字符串

//java对象转为JSON字符串
    @Test
    public void test1() throws Exception {
        //1、创建Person对象
        Person p = new Person();
        p.setName("张三");
        p.setAge(20);
        p.setGender("男");

        //2、创建Jackson的核心对象, ObjectMapper
        ObjectMapper mapper = new ObjectMapper();
        //3、转换
        /*
            转换:
                writeValue(参数1,obj);
                    参数1:
                        File:将obj对象转换诶JSON字符串,并保存到指定的文件中
                        Writer:将obj对象转换为JSON字符串,并将json数据填充到字符输出流中
                        OutputStream:将obj对象转换为JSON字符串,并将json数据填充到字节输出流中
                writeValueAsString(obj):将对象转为json字符串

         */
        String json = mapper.writeValueAsString(p);
        System.out.println(json);

        //writeValue:将数据写到文件中
//        mapper.writeValue(new File("G://r.txt"),p);
        mapper.writeValue(new FileWriter("G://r.txt"),p);
    }

 

 

 

 

java对象转json—注解

@JsonIgnore:排除属性

Person类:

public class Person {
    private String name;
    private int age;
    private String gender;

    @JsonIgnore
    private Date birthday;

测试:

@Test
    public void test2() throws Exception {
        //1、创建Person对象
        Person p = new Person();
        p.setName("张三");
        p.setAge(20);
        p.setGender("男");
        p.setBirthday(new Date());
        //转换
        ObjectMapper mapper = new ObjectMapper();
        String json = mapper.writeValueAsString(p);
        System.out.println(json);
    }

 

 

 

@JsonFormat:格式化属性

public class Person {
    private String name;
    private int age;
    private String gender;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date birthday;

再次运行性测试方法

 

 

 

 

 

 

java对象转json—List&Map

List集合:

@Test
    public void test3() throws Exception {
        //1、创建Person对象
        Person p = new Person();
        p.setName("张三");
        p.setAge(20);
        p.setGender("男");
        p.setBirthday(new Date());
        Person p1 = new Person();
        p1.setName("张三");
        p1.setAge(20);
        p1.setGender("男");
        p1.setBirthday(new Date());
        Person p2 = new Person();
        p2.setName("张三");
        p2.setAge(20);
        p2.setGender("男");
        p2.setBirthday(new Date());

        //创建list集合
        List<Person> list = new ArrayList<>();
        list.add(p);
        list.add(p1);
        list.add(p2);

        //转换
        ObjectMapper mapper = new ObjectMapper();
        String json = mapper.writeValueAsString(list);
        System.out.println(json);
    }

 

Map集合:

    @Test
    public void test4() throws Exception {
        //1、创建Map对象
        HashMap<String, Object> map = new HashMap<>();
        map.put("name","张三");
        map.put("age","23");
        map.put("gender","男");
        //转换
        ObjectMapper mapper = new ObjectMapper();
        String json = mapper.writeValueAsString(map);
        System.out.println(json);
    }

 

标签:java,String,对象,Person,json,new,public,name
From: https://www.cnblogs.com/xjw12345/p/16609309.html

相关文章

  • 【Java学习Day01】Markdown语法
    Markdown学习标题几级标题就几个#加空格再加上你想写的东西#一级标题##二级标题###三级标题####四级标题#####五级标题######六级标三级标题四级标题五......
  • delphi json和protobuf序列
    delphijson和protobuf序列unitserialize;///<author>cxg2022-8-21</author>interfaceusesSystem.SysUtils,Grijjy.ProtocolBuffers,System.JSON.Serializ......
  • Java核心知识体系4:AOP原理和切面应用
    1概述我们所说的Aop(即面向切面编程),即面向接口,也面向方法,在基于IOC的基础上实现。Aop最大的特点是对指定的方法进行拦截并增强,这种增强的方式不需要业务代码进行调整,无需......
  • 【Java】环境配置以及快速切换环境的技巧和方法
    前言前几天想用burp抓包来着,发现burp突然不能用了,重装了burp发现还是不能用,意识到是java环境出了问题。在之前有段时间没玩CTF,去搞开发了,于是java环境糊里......
  • Javaweb-Cookie初识
    快速了解Cookie什么是Cookie?首先看一下Cookie在目前整个Web技术体系中的位置可以看到它是在浏览器端这边关联服务器端Session会话域的,可以推断它是和Session类似,用来保......
  • Java的反射
    在我们平时的开发中,我们肯定会遇到过spring框架。框架中我们几乎不需要手动去new对象。只需要通过一些简单的配置,spring就会把对象为我们创建好。这里就用到反射。下面我......
  • python获取返回的json中的某个字段值的函数
    响应报文的json一般为字典或者是列表嵌套字段的形式     defget_json_value(a,k,l:list):""":parama:传入的数据:paramkey:获取哪个字段值......
  • Vulfocus靶场 | Metabase geojson任意文件读取漏洞(CVE-2021-41277)
    漏洞描述etabase是一个开源数据分析平台。在受影响的版本中,已发现自定义GeoJSON地图(admin->settings->maps->custommaps->addamap)支持和潜在的本地文件包含(包括环......
  • 2022 Java 企业面试题汇总
    Java基础部分请列举至少三个JDK安装目录下的课程性程序(javac)请分析命题:“Java采用自动垃圾回收技术(GC),因此不会出现内存泄露”简单描述单子模式(单例模式)的各种不同实......
  • springMvc36-JavaEE-JSP基础-EL表达式和JSTL标签库(Taglibs)
    EL表达式和JSTL标签库:在JSP页面代替java代码,便于编写一.EL表达式   作用:${}简化脚本表达式<%=%>   j2ee1.4以前版本需指定<%@pageisELIgnored="false......