JSON解析器jackson_java对象转json与注解

JSON解析器-jackson-java对象转json

Java对象转换JSON

  1. 使用步骤:

    1. 导入jackson的相关jar包

    2. 创建Jackson核心对象 ObjectMappe

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

      1. 转换方法:

        writeValue(参数1,obj):

          参数1:

            File:将obj对象转换为JSON字符串,并保存到指定的文件中

            Writer:将obj对象转换为JSON字符串,并将json数据填充到字符输出流中

            OutputStream:将obj对象转换为JSON字符串,并将json数据填充到字节输出流中

         writeValueAsString(obj):将对象转为json字符串

复制代码
package org.example.text;

import com.fasterxml.jackson.databind.ObjectMapper;
import org.example.domin.Person;
import org.junit.Test;

import java.io.File;
import java.io.FileWriter;

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

        //2.创建Jackson的核心对象 ObjectMapper
        ObjectMapper mapper = new ObjectMapper();

        /**
         * 转换方法:
         *      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 将数据写到d://a.txt文件中
        mapper.writeValue(new File("d//a.txt"),p);

        //writeValue,将数据关联到Writer中
        mapper.writeValue(new FileWriter("d://b.txt"),p);
    }
}
复制代码

 

 

JSON解析器-jackson-java对象转json-注解 

注解:
  1. @JsonIgnore:排除属性。

  2. @JsonFormat:属性值得格式化

    @JsonFormat(pattern = "yyyy-MM-dd")

复制代码
package org.example.domin;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;

import java.util.Date;

public class Person {
    private String name;
    private int age;
    private String gender;
//    @JsonIgnore //忽略该属性
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date birthday;

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    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;
    }
}
复制代码

 

posted @   夫君  阅读(311)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示