美文网首页
fastjson高效率解析

fastjson高效率解析

作者: IT和金融 | 来源:发表于2017-07-23 15:04 被阅读0次

    背景:


    json解析的工具很多,有谷歌的GSON,jackson,fastjson,综合各种博客对比,alibaba的fastjson是最快的,故后期主要用这个进行解析。

    fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。

    常用的方法为:

    1、string转换成json格式对象(parse开头)

    //通用型

    public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray

    //转换成JSONObject

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

    public static final T parseObject(String text, Class clazz); // 把JSON文本parse为JavaBean

    //转换成JSONArray

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

    public static final List parseArray(String text, Class clazz); //把JSON文本parse成JavaBean集合

    2. json对象转换成string(toJSON开头)

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

    public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本

    3.javabean转换JSON对象

    public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray。

    复杂json格式,需要先构建一个javabean,假如json格式为:

    {

    "status": "2000",

    "msg": "Successful!",

    "ret":{"error","succ"},

    "data":[{"details": "111"},{details:"287"}]

    }

    构建的javabean则为:

    public class demo

    {

          private String status;

          private String msg;

          private Ret ret;

          public class Ret

          {

                private String error;

              //自动生成getter和setter

          }

          private List<datalist> data;

          public class datalist

        {

                private String details;

              //自动生成getter和setter

        }

    //自动生成getter和setter

    public String getStatus(){return status;}

    public void setStatus(String status){this.status = status;}

    public String getMsg(){return msg;}

    public void setMsg(String msg){this.msg = msg;}

    public Ret getRet(){return ret;}

    public void setRet(Ret ret){this.ret = ret;}

    public ListgetData(){return data;}

    public void setData(Listdata)

    然后用eclipse 生成getter 和setter方法,这样便可以将上述json进行一一对应解析。

    相关文章

      网友评论

          本文标题:fastjson高效率解析

          本文链接:https://www.haomeiwen.com/subject/lwkmkxtx.html