fastjson阿里解析json用法

目录

一、fastjson简介

  1. 什么是fastjson?

  2.fastjson的优点

    2.1 速度快

    2.2 使用广泛

   2.3 测试完备

  2.4 使用简单

二、JSON用法

  2.1java对象转JSON

  2.2 Map转JSON

  2.3List转JSON 

  2.4json串转java对象

2.5java对象转与JSONObject 互转

三、JSONObject用法

  3.1JSONObject使用

 3.2 java对象转与JSONObject

 3.3Map转JSONObject

四、JSONArray用法

4.1List转JSONArray


一、fastjson简介

  1. 什么是fastjson?

    fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。

  2.fastjson的优点

    2.1 速度快

    fastjson相对其他JSON库的特点是快,从2011年fastjson发布1.1.x版本之后,其性能从未被其他Java实现的JSON库超越。

    2.2 使用广泛

    fastjson在阿里巴巴大规模使用,在数万台服务器上部署,fastjson在业界被广泛接受。在2012年被开源中国评选为最受欢迎的国产开源软件之一。

   2.3 测试完备

    fastjson有非常多的testcase,在1.2.11版本中,testcase超过3321个。每次发布都会进行回归测试,保证质量稳定。

  2.4 使用简单

    fastjson的API十分简洁。

String text = JSON.toJSONString(obj); //序列化
VO vo = JSON.parseObject("{...}", VO.class); //反序列化

 github地址:https://github.com/alibaba/fastjson/wiki/Quick-Start-CN

二、JSON用法

  2.1java对象转JSON

/**
     * 一、java对象转json
     * 执行结果:{"age":20,"name":"zhangsna"}
     */
    @Test
    public void fun(){
        Person p = new Person("zhangsna", 20);
        String json = JSON.toJSONString(p);
        System.out.println("java对象转json:"+json);
    }

  2.2 Map转JSON

 /**
     * Map转换成json
     * 执行结果:{"lisi":25,"zhangsan":20}
     */
    @Test
    public void fun1(){
        Map map = new HashMap();
        map.put("zhangsan",20);
        map.put("lisi",25);
        String json = JSON.toJSONString(map);
        System.out.println("Map转换成json"+json);
    }

  2.3List转JSON 

/**
     * List转换成json
     * 执行结果:[{"age":20,"name":"zhangsna"},{"age":25,"name":"lisi"}]
     */
    @Test
    public void fun2(){
        ArrayList list = new ArrayList();
        list.add(new Person("zhangsna",20));
        list.add(new Person("lisi",25));
        String json = JSON.toJSONString(list);
        System.out.println("List转json:"+json);
    }

  2.4json串转java对象

 

/**
     * json串转java对象
     * 执行结果:
     * 姓名:zhangsna
     * 年龄:20
     */
    @Test
    public void fun4(){
        String str="{\"age\":20,\"name\":\"zhangsna\"}";
        Person person = JSON.parseObject(str, Person.class);
        System.out.println("姓名:"+ person.getName());
        System.out.println("年龄:"+ person.getAge());
    }

2.5java对象转与JSONObject 互转

/**
     * java对象转jsonObject
     * 执行结果:{"name":"zhangsan","age":20}
     *
     * jsonObject转java对象
     * 执行结果:
     *   姓名:zhangsan
     *   年龄:20
     */
    @Test
    public void fun5(){
        Person p = new Person("zhangsan", 20);
        JSONObject jsono = (JSONObject) JSON.toJSON(p);
        System.out.println(jsono);

        Person person = JSON.toJavaObject(jsono, Person.class);
        System.out.println("姓名:"+person.getName());
        System.out.println("年龄:"+person.getAge());
    }

三、JSONObject用法

JSONObject类本身是一个Map,所以学习它很方便。

  3.1JSONObject使用

/**
     * JSONObject使用
     * JSONObject就是一个map
     */
    @Test
    public void fun6(){
        JSONObject jsono = new JSONObject();
        jsono.put("zhangsan",20);
        jsono.put("lisi",22);
        jsono.put("wngwu",18);
        String json = jsono.toJSONString();
        System.out.println(json);

    }

 3.2 java对象转与JSONObject

/**
     * JSONObject使用
     * java对象转json
     * 执行结果:{"age":20,"name":"zhangsna"}
     *
     */
    @Test
    public void fun8(){
        Person p = new Person("zhangsna",20);
        JSONObject jsono = new JSONObject();
        String json = jsono.toJSONString(p);
        System.out.println("java对象转JSONObject:"+json);
    }

 3.3Map转JSONObject

 /**
     *JSONObject使用
     * Map转json
     * 执行结果:
     *  {"lisi":20,"zhangsan":20,"wangwu":20}
     */
    @Test
    public void fun7(){
        Map map = new HashMap();
        map.put("zhangsan",20);
        map.put("lisi",20);
        map.put("wangwu",20);
        JSONObject jsono = new JSONObject();
        String json = jsono.toJSONString(map);
        System.out.println(json);
    }

 

四、JSONArray用法

4.1List转JSONArray

JSONArray本身是一个List,所以使用起来很方便。

 

/**
     * JSONArray使用
     * 执行结果:
     *  [{"age":20,"name":"zhangsan"},{"age":22,"name":"lisi"}]
     */
    @Test
    public void fun9(){
        JSONArray jsona = new JSONArray();
        jsona.add(new Person("zhangsan",20));
        jsona.add(new Person("lisi",22));
        String json = jsona.toJSONString();
        System.out.println(json);
    }

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值