fastjson高效率解析

背景:


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进行一一对应解析。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,641评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 34,740评论 18 399
  • 小编费力收集:给你想要的面试集合 1.C++或Java中的异常处理机制的简单原理和应用。 当JAVA程序违反了JA...
    八爷君阅读 5,234评论 1 114
  • 主要积累一些开发中比较 常用的工具类,部分借鉴于网络,主要来源于平时开发因需求而生的小工具类 13、ArithUt...
    大鸭梨leepear阅读 733评论 0 1
  • 每天我们都要对很多问题,很多问题等着我们去解决。人类解决问题的这种能力是后天锻炼的,当然也有先天的因素。毕竟几万年...
    xiaoM敏阅读 258评论 0 1

友情链接更多精彩内容