Java基础——超级实用的使用FastJson完成JSONObject、Java对象、JSON串的转换


前言

本站主要是记录下常用的api方法,完成常见的转换:

  • Java对象(Bean、Map、List)转成JSON串
  • Java对象(Bean、Map、List)转成JSON对象
  • JSON串转成Java对象(Bean、Map、List)
  • JSON串转成JSON对象
  • JSON对象转成Java对象(Bean、Map、List)
  • JSON对象转成JSON串

一、 Java对象(Bean、Map、List)—>JSON串

//JavaBean
 People people = new People("老王",22);
 String jsonStr = JSON.toJSONString(people);
 System.out.println(jsonStr);

//Map
 Map<String,Object> map = new HashMap<>();
 map.put("name","老张");
 map.put("age",16);
 String jsonStr2 = JSON.toJSONString(map);
 System.out.println(jsonStr2);
 
//List
 List<String> list = new ArrayList<>();
 list.add("a");
 list.add("b");
 list.add("c");
 String jsonStr3 = JSON.toJSONString(list);
 System.out.println(jsonStr3);

二、Java对象(Bean、Map、List)—>JSON对象

 //javaBean
 JSONObject jsonObject = (JSONObject) JSON.toJSON(people);
 String name = jsonObject.getString("name");
 Integer age = jsonObject.getInteger("age");
 System.out.println("name="+name+",age="+age);

 //map
 JSONObject jsonObject2 = (JSONObject) JSON.toJSON(map);
 name = jsonObject2.getString("name");
 age = jsonObject2.getInteger("age");
 System.out.println("name="+name+",age="+age);

 //list
 JSONArray jsonArray = (JSONArray) JSON.toJSON(list);
 jsonArray.forEach(item -> System.out.println(item));

三、JSON串—>Java对象(Bean、Map、List)

String json1 = "{\"name\":\"老张\",\"age\":16}";
String json2 = "[\"a\",\"b\",\"c\"]";

//javaBean
People people1 = JSON.parseObject(json1, People.class);
System.out.println("name="+people1.getName()+",age="+people1.getAge());

//map
Map map1 = JSON.parseObject(json1, Map.class);
System.out.println("name="+map1.get("name")+",age="+map1.get("age"));

//list
List list1 = JSON.parseObject(json2, List.class);
System.out.println(list1);

四、JSON串—>JSON对象

//JosnObject
JSONObject jsonObject1 = JSON.parseObject(json1);
name = jsonObject1.getString("name");
age = jsonObject1.getInteger("age");
System.out.println("name="+name+",age="+age);

//JsonArray
JSONArray jsonArray1 = JSON.parseArray(json2);
jsonArray1.forEach(item -> System.out.println(item));

五、JSON对象—>Java对象(Bean、Map、List)

//javaBean
People people2 = JSONObject.toJavaObject(jsonObject1, People.class);
System.out.println("name="+people2.getName()+",age="+people2.getAge());

Map map2 = JSONObject.toJavaObject(jsonObject1, Map.class);
System.out.println("name="+map2.get("name")+",age="+map2.get("age"));

List list2 = JSONArray.toJavaObject(jsonArray1, List.class);
System.out.println(list2);

六、JSON对象—>JSON串

String jsonString = JSONObject.toJSONString(jsonObject1);
System.out.println(jsonString);

String jsonString1 = JSONArray.toJSONString(jsonArray1);
System.out.println(jsonString1);

七、完整代码

public class TestFastJson {


    public static void main(String[] args) {
        People people = new People("老王",22);
        String jsonStr = JSON.toJSONString(people);
        System.out.println(jsonStr);

        Map<String,Object> map = new HashMap<>();
        map.put("name","老张");
        map.put("age",16);
        String jsonStr2 = JSON.toJSONString(map);
        System.out.println(jsonStr2);
        
        
        List<String> list = new ArrayList<>();
        list.add("a");
        list.add("b");
        list.add("c");
        String jsonStr3 = JSON.toJSONString(list);
        System.out.println(jsonStr3);


        System.out.println("*******************************");

        //javaBean
        JSONObject jsonObject = (JSONObject) JSON.toJSON(people);
        String name = jsonObject.getString("name");
        Integer age = jsonObject.getInteger("age");
        System.out.println("name="+name+",age="+age);

        //map
        JSONObject jsonObject2 = (JSONObject) JSON.toJSON(map);
        name = jsonObject2.getString("name");
        age = jsonObject2.getInteger("age");
        System.out.println("name="+name+",age="+age);

        //list
        JSONArray jsonArray = (JSONArray) JSON.toJSON(list);
        jsonArray.forEach(item -> System.out.println(item));


        System.out.println("*******************************");

        String json1 = "{\"name\":\"老张\",\"age\":16}";
        String json2 = "[\"a\",\"b\",\"c\"]";

        //javaBean
        People people1 = JSON.parseObject(json1, People.class);
        System.out.println("name="+people1.getName()+",age="+people1.getAge());

        //map
        Map map1 = JSON.parseObject(json1, Map.class);
        System.out.println("name="+map1.get("name")+",age="+map1.get("age"));

        //list
        List list1 = JSON.parseObject(json2, List.class);
        System.out.println(list1);


        System.out.println("*******************************");

        //JosnObject
        JSONObject jsonObject1 = JSON.parseObject(json1);
        name = jsonObject1.getString("name");
        age = jsonObject1.getInteger("age");
        System.out.println("name="+name+",age="+age);

        //JsonArray
        JSONArray jsonArray1 = JSON.parseArray(json2);
        jsonArray1.forEach(item -> System.out.println(item));

        System.out.println("*******************************");

        //javaBean
        People people2 = JSONObject.toJavaObject(jsonObject1, People.class);
        System.out.println("name="+people2.getName()+",age="+people2.getAge());

        Map map2 = JSONObject.toJavaObject(jsonObject1, Map.class);
        System.out.println("name="+map2.get("name")+",age="+map2.get("age"));

        List list2 = JSONArray.toJavaObject(jsonArray1, List.class);
        System.out.println(list2);


        System.out.println("*******************************");

        String jsonString = JSONObject.toJSONString(jsonObject1);
        System.out.println(jsonString);

        String jsonString1 = JSONArray.toJSONString(jsonArray1);
        System.out.println(jsonString1);
        
    }
}


总结

本章主要内容:使用阿里的fastJson 完成 JSON对象、java对象、JSON串之间的相互转换

觉得不错的话,记得点击收藏,方便日后查找~

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值