FastJson API的简单使用

一,Fastjson介绍
1. Fastjson是一个Java语言编写的JSON处理器,由阿里巴巴公司开发。fastjson是目前java语言中最快的json库,比自称最快的jackson速度要快。
2. FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,Fastjson是一个Java语言编写的高性能功能完善的JSON库。Fastjson支持java bean的直接序列化。
3. 可以使用com.alibaba.fastjson.JSON这个类进行序列化和反序列化。FastJson功能强大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;无依赖。
4. Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。 使用Fastjson首先在官网下载,然后应用到自己的项目中
5. 在需要解析JSON的Response中,需要导入如下四个包。

import com.alibaba.fastjson.JSON; 
import com.alibaba.fastjson.JSONObject; 
import com.alibaba.fastjson.JSONArray; 
import com.alibaba.fastjson.JSONException; 

二,要使用fastjson,需要在项目中导入jar包(fastjson-1.2.47.jar版本),此处提供网盘链接(若失效请留言)
链接:https://pan.baidu.com/s/1FvXOICsPBchFlFgEExvWEw 密码:0efb

三,序列化:顾名思义,序列化就是JavaBean对象转化为JSON格式的字符串;常见API:

public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本

四,反序列化常见的API

public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject 

public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray

五,示例:本示例将示例fastjson的反序列化,代码如下:

package jsontest;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

public class jsontest1 {
    private static void jsontest() {

        String jsontext="{\"name\":\"wjk\",\"age\":\"22\",\"love\":[{\"love1\":\"coding\",\"love2\":\"movie\"},{\"love1\":\"money\",\"love2\":\"NBA\"}]}";//定义json文本
        System.out.println(jsontext);
        JSONObject m1=new JSONObject();
        m1=JSON.parseObject(jsontext);//将json文本转化为jsonobject
        System.out.println(m1);

        String jsonarraytext=m1.getString("love");
        System.out.println(jsonarraytext);
        JSONArray m2=new JSONArray();
        m2=JSON.parseArray(jsonarraytext);
        System.out.println(m2);
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        jsontest();
    }

}

输出结果如下:

{"name":"wjk","age":"22","love":[{"love1":"coding","love2":"movie"},{"love1":"money","love2":"NBA"}]}
{"love":[{"love2":"movie","love1":"coding"},{"love2":"NBA","love1":"money"}],"name":"wjk","age":"22"}
[{"love2":"movie","love1":"coding"},{"love2":"NBA","love1":"money"}]
[{"love2":"movie","love1":"coding"},{"love2":"NBA","love1":"money"}]

猜你喜欢

转载自blog.csdn.net/weixin_36413887/article/details/80497104