fastJson的数据转换,json解析对象或者数组字符串集合之间的转换。jackJson不认json字符串中单引号(主要说fastJson)。

一.转换公式

二.代码示例如下。

1.json字符串和json对象以及java对象之间的转换。

  String jsonString = "{'name':'优秀的男人','age':'25'}";
        // json字符串转json对象。
        JSONObject jsonObject = JSON.parseObject(jsonString);
        System.out.println(jsonObject);
        // json字符串转java对象,前提条件是json字符串的字段和Java对象的字段名相同,否则为null。
        HelloTest test = JSON.parseObject(jsonString, HelloTest.class);
        System.out.println(test);
        
        // json对象转java对象,前提是字段名称一值,不然为null。
        HelloTest test1 = JSON.toJavaObject(jsonObject, HelloTest.class);
        // java对象转json对象。
        JSONObject  object= (JSONObject)JSON.toJSON(test1);
        // json对象和Java对象转json字符串
        String string = JSON.toJSONString(test1);
        String string1 = JSON.toJSONString(object);
        System.out.println(string);

      /*  {"name":"优秀的男人","age":"25"}
        HelloTest(age=25, name=优秀的男人, password=null, title=null, values=null, hello=null, listTitle=null)
        {"age":"25","name":"优秀的男人"} */

2.json数组字符串和java集合以及json数组的转换。

// json字符串数组和Java集合以及json数组转换
        String suZhu = "[{'name':'优秀的男人','age':'25'},{'name':'好男人','age':'18'}]";
        // json字符串数组和Java集合
        List<HelloTest> list = JSON.parseArray(suZhu, HelloTest.class);
        list.forEach(e-> System.out.println(e));
        JSONArray array = (JSONArray) JSON.toJSON(list);

        // Json数组字符串转换Json数组
        JSONArray arraySuZhu = (JSONArray) JSON.toJSON(suZhu);

        //json数组不能直接转java集合间接的转。先转string再转list
        List<HelloTest> listTwo =  JSON.parseArray(JSON.toJSONString(arraySuZhu),HelloTest.class);
        
        //所有转json字符串都是json.toJsonString(参数)

3. Gson类SONArray可以直接转为json字符串

3.1Gson类中的toJson()方法,可以直接把一个list转为json格式。

  Gson gson = new Gson();
  // list转Json字符串
  String JsonString = gson.toJson(list);

 3.2 使用JSONArray json=JSONArray.fromobject(list);在调用json.toString()方法转换成字符串
 

JSONArray ja = JSONArray.fromObject(list);
 // list转Json字符串
String JsonString = ja.toString();

对您有帮助给个赞谢谢,祝您码到功成!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值