使用FastJson解析Json数据
发布时间:2020-12-16 19:35:16 所属栏目:百科 来源:网络整理
导读:fastjson 是一个性能极好的用 Java 语言实现的 JSON 解析器和生成器,来自 阿里巴巴的工程师开发。 主要特点: 快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson) 强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum
fastjson 是一个性能极好的用 Java 语言实现的 JSON 解析器和生成器,来自
阿里巴巴的工程师开发。
主要特点:
一 、生成Json:
JavaBean、List<JavaBean>、List<String>、List<Map<String,Object>>
String jsonString = JSON.toJSONString(obj);
二、解析Json:
(1)JavaBean
Class class= JSON.parSEObject(jsonString,Class.class);
(2)List<JavaBean>
List<Class> class=JSON.parseArray((jsonString,Class.class);(3)List<String>
List<String> listString = JSON.parseArray(jsonString,String.class);(4)List< Map<String,Object> >
List<Map<String,Object>> listMap = JSON.parSEObject(jsonString,new TypeReference<List<Map<String,Object>>>(){}); "result":{"code":"200","bottomPageNo":327 }其中list含有2615条数据,selList含有8条数据,目标是提取selList中entNameUrl的链接(不含a href=)
外层是JSONObject,里面的list和selList是JSONArrary,再里面是JSONObject。其中的result也是JSONObject
JSONObject jsonObj = JSON.parSEObject(rawText); JSONArray result = jsonObj.getJSONArray("selList"); List<Link> links= JSON.parseArray(result.toJSONString(),Link.class);其中Link类中要有entNameUrl这个属性,并且setter和getter方法。
在setter方法中可以进一步进行处理
public void setEntNameUrl(String entNameUrl) { this.entNameUrl =Html.create(entNameUrl).links().get(); }这里使用了自定方法,其功能就是取出字符串中的链接。
Link类中可以包含abnTime、entName、regNO等属性和对应的getter和setter方法,FastJson能自动映射。
通过下面的方法也可以处理:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |