本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议 》和 《 阿里云开发者社区知识产权保护指引 》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单 进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 调用ObjectMapper的相关方法进行转换1. 转换方法:1 .writeValue(参数1,obj):         参数1:             File:将obj对象转换为JSON字符串,并保存到指定的文件中             Writer:将obj对象转换为JSON字符串,并将json数据填充到字符输出流中             OutputStream:将obj对象转换为JSON字符串,并将json数据填充到字节输出流中2.* writeValueAsString(obj):将对象转为json字符串
  • 注解:       1. @JsonIgnore:排除属性。       2. @JsonFormat:属性值得格式化       * @JsonFormat(pattern = “yyyy-MM-dd”)
  • 复杂java对象转换
    1. List:数组
    2. Map:对象格式一致
    测试如下
  • JSON转为Java对象

  • 导入jackson的相关jar包
  • 创建Jackson核心对象 ObjectMapper
  • 调用ObjectMapper的相关方法进行转换
    1. readValue(json字符串数据,Class)
  • map对象写法

    Map<String,Object> map = new HashMap<String,Object>();

    map.put(“name”,“张三”);

    list集合写法

    //创建List集合

    List ps = new ArrayList();

    ps.add§;

    package cn.itcast.test;
    import cn.itcast.domain.Person;
    import com.fasterxml.jackson.databind.ObjectMapper;
    import org.junit.Test;
    import java.io.FileWriter;
    import java.util.*;
    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();
            //3.转换
                转换方法:
                    writeValue(参数1,obj):
                            File:将obj对象转换为JSON字符串,并保存到指定的文件中
                            Writer:将obj对象转换为JSON字符串,并将json数据填充到字符输出流中
                            OutputStream:将obj对象转换为JSON字符串,并将json数据填充到字节输出流中
                    writeValueAsString(obj):将对象转为json字符串
            String json = mapper.writeValueAsString(p);
            //{"name":"张三","age":23,"gender":"男"}
            //System.out.println(json);//{"name":"张三","age":23,"gender":"男"}
            //writeValue,将数据写到d://a.txt文件中
            //mapper.writeValue(new File("d://a.txt"),p);
            //writeValue.将数据关联到Writer中
            mapper.writeValue(new FileWriter("d://b.txt"),p);
        @Test
        public void test2() throws Exception {
            //1.创建Person对象
            Person p = new Person();
            p.setName("张三");
            p.setAge(23);
            p.setGender("男");
            p.setBirthday(new Date());
            //2.转换
            ObjectMapper mapper = new ObjectMapper();
            String json = mapper.writeValueAsString(p);
            System.out.println(json);//{"name":"张三","age":23,"gender":"男","birthday":1530958029263}
                                    //{"name":"张三","age":23,"gender":"男","birthday":"2018-07-07"}
        @Test
        public void test3() throws Exception {
            //1.创建Person对象
            Person p = new Person();
            p.setName("张三");
            p.setAge(23);
            p.setGender("男");
            p.setBirthday(new Date());
            Person p1 = new Person();
            p1.setName("张三");
            p1.setAge(23);
            p1.setGender("男");
            p1.setBirthday(new Date());
            Person p2 = new Person();
            p2.setName("张三");
            p2.setAge(23);
            p2.setGender("男");
            p2.setBirthday(new Date());
            //创建List集合
            List<Person> ps = new ArrayList<Person>();
            ps.add(p);
            ps.add(p1);
            ps.add(p2);
            //2.转换
            ObjectMapper mapper = new ObjectMapper();
            String json = mapper.writeValueAsString(ps);
            // [{},{},{}]
            //[{"name":"张三","age":23,"gender":"男","birthday":"2018-07-07"},{"name":"张三","age":23,"gender":"男","birthday":"2018-07-07"},{"name":"张三","age":23,"gender":"男","birthday":"2018-07-07"}]
            System.out.println(json);
        @Test
        public void test4() throws Exception {
            //1.创建map对象
            Map<String,Object> map = new HashMap<String,Object>();
            map.put("name","张三");
            map.put("age",23);
            map.put("gender","男");
            //2.转换
            ObjectMapper mapper = new ObjectMapper();
            String json = mapper.writeValueAsString(map);
            //{"name":"张三","age":23,"gender":"男"}
            System.out.println(json);//{"gender":"男","name":"张三","age":23}
        //演示 JSON字符串转为Java对象
        @Test
        public void test5() throws Exception {
           //1.初始化JSON字符串
            String json = "{\"gender\":\"男\",\"name\":\"张三\",\"age\":23}";
            //2.创建ObjectMapper对象
            ObjectMapper mapper = new ObjectMapper();
            //3.转换为Java对象 Person对象
            Person person = mapper.readValue(json, Person.class);
            System.out.println(person);