介绍:
Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景。
功能强大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;无依赖,能够直接运行在Java SE 5.0以上版本;支持Android;开源 (Apache 2.0)
官网:https://github.com/Alibaba/fastjson/wiki/%E9%A6%96%E9%A1%B5
fastJson解析
JSON.parseObject(String text); -> JSONObject // 把JSON文本parse成JSONObject
JSON.parseObject(String text, Class clazz); -> JavaBean // 把JSON文本parse为JavaBean(适合简单的bean)
JSON.parseArray(String text); -> JSONArray // 把JSON文本parse成JSONArray
JSON.parseArray(String text, Class clazz); -> List<bean>//把JSON文本parse成JavaBean集合
jsonArray.toJSONString(Object object); -> String json// 将JavaBean序列化为JSON文本
JSON.toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray
理解:fastJson直接将Json传转化成对象,简单的话可以直接转化,复杂的可以先去解析一部分,在去解析里面的bean。
List<ServiceDataModel.FlowBean.ListBean> listBean;
// 将String类型的json文本parse成JsonObject
JSONObject jsonObject = JSON.parseObject(json);
String title = jsonObject.getString("title");
String save = jsonObject.getString("save");
JSONObject jsonFlow = (JSONObject) jsonObject.get("flow");
JSONArray jsonArray = jsonFlow.getJSONArray("list");
listBean = JSON.parseArray(jsonArray.toJSONString(), ServiceDataModel.FlowBean.ListBean.class);
// 遍历集合
for (ServiceDataModel.FlowBean.ListBean bean : listBean) {
String desc = bean.getDesc();
int value = bean.getValue();
int sid = bean.getSid();
String icon = bean.getIcon();
int flow = bean.getFlow();
}