json构造 json绑定 java fastjson篇

json构造对应格式

步骤:类转换json字符串 ,json字符串在转换成Json对象
类转换json过程中,类中属性名定义的什么名称,转换完json对应的key就是什么

前置类

@Data
public class School {
    private String name;
    private String address;
    private List<Teacher> teacherList;
}
@Data
public class Teacher {
    private String name;
    private Integer age;
    private String phone;

    public Teacher(String name, Integer age, String phone) {
        this.name = name;
        this.age = age;
        this.phone = phone;
    }
}

只绑定类的属性

只绑定类的属性

    /**
     * json构造:只绑定类的属性
     */
    @Test
    public void test2(){
        Teacher teacher=new Teacher("张三",28,"1827777888");
     String jsonStr = JSONObject.toJSONString(teacher);
     JSONObject jsonObjectEntity = JSONObject.parseObject(jsonStr);

     JSONObject jsonObject=new JSONObject();
     jsonObject.put("record",jsonObjectEntity);
        System.out.println(jsonObject.toString());
        //{"record":{"phone":"18279997252","name":"张三","age":28}}
    }

json 构造成数组list格式

在这里插入图片描述

    /**
     * json构造:构造list
     */
    @Test
    public void test3(){
        List<Teacher> list=new ArrayList<>();
        Teacher teacher=new Teacher("张三",28,"1827777888");
        Teacher teacher2=new Teacher("李四",22,"18211112222");
        list.add(teacher);list.add(teacher2);
        String jsonStr = JSONObject.toJSONString(list);
        JSONArray objects = JSONArray.parseArray(jsonStr);

        JSONObject jsonObject=new JSONObject();
        jsonObject.put("recordList",objects);
        System.out.println(jsonObject.toString());
        //{"recordList":[{"phone":"1827777888","name":"张三","age":28},{"phone":"18211112222","name":"李四","age":22}]}

    }

类中包含list

在这里插入图片描述

    /**
     * json构造:类中包含list
     */
    @Test
    public void test4(){
        School school=new School();
        school.setName("清华大学");
        school.setAddress("北京海淀");
        List<Teacher> list=new ArrayList<>();
        Teacher teacher=new Teacher("张三",28,"1827777888");
        Teacher teacher2=new Teacher("李四",22,"18211112222");
        list.add(teacher);list.add(teacher2);
        school.setTeacherList(list);

        String jsonStr = JSONObject.toJSONString(school);
        JSONObject jsonObjectSchool = JSONObject.parseObject(jsonStr);

        JSONObject jsonObject=new JSONObject();
        jsonObject.put("record",jsonObjectSchool);
        System.out.println(jsonObject.toString());
        //{"record":{"address":"北京海淀","name":"清华大学","teacherList":[{"phone":"1827777888","name":"张三","age":28},{"phone":"18211112222","name":"李四","age":22}]}}
    }

list类中包含list

在这里插入图片描述

    /**
     * json构造:list类中包含list
     */
    @Test
    public void test5(){
        School school=new School();
        school.setName("清华大学");
        school.setAddress("北京海淀");
        List<Teacher> list=new ArrayList<>();
        Teacher teacher=new Teacher("张三",28,"1827777888");
        Teacher teacher2=new Teacher("李四",22,"18211112222");
        list.add(teacher);list.add(teacher2);
        school.setTeacherList(list);

        School school2=new School();
        school2.setName("北京大学");
        school2.setAddress("北京海淀");
        List<Teacher> list2=new ArrayList<>();
        Teacher teacher3=new Teacher("王五",33,"1827777888");
        Teacher teacher4=new Teacher("刘六",40,"18211112222");
        list2.add(teacher3);list2.add(teacher4);
        school2.setTeacherList(list2);
        List<School> listSchool=new ArrayList<>();
        listSchool.add(school);listSchool.add(school2);

        String jsonString = JSONObject.toJSONString(listSchool);
        JSONArray objects = JSONArray.parseArray(jsonString);
        JSONObject jsonObjectReult=new JSONObject();
        jsonObjectReult.put("schooleList",objects);
        System.out.println(jsonObjectReult.toString());
       //{"schooleList":[{"address":"北京海淀","name":"清华大学","teacherList":[{"phone":"1827777888","name":"张三","age":28},{"phone":"18211112222","name":"李四","age":22}]},{"address":"北京海淀","name":"北京大学","teacherList":[{"phone":"1827777888","name":"王五","age":33},{"phone":"18211112222","name":"刘六","age":40}]}]}
    }

拓展

//会吧实体类中为空的部分忽略掉
String jsonString = JSONObject.toJSONString(实体类);
//{"address":"北京市海淀区北坞嘉园","age":"18","datesjc":1641560533162,"name":"测试名称","sex":"男"}


//不忽略为空部分,完整转换
String jsonString2 = JSONObject.toJSONString(实体类,  SerializerFeature.WriteMapNullValue);
//{"address":"北京市海淀区北坞嘉园","age":"18","datesjc":1641560628074,"money":null,"name":"测试名称","note_seq":null,"salary":null,"sex":"男","userCourses":null}
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值