Json   发布时间:2022-04-22  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用FastJson解析Json数据大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
fastjson 是一个性能极好的用 Java 语言实现的 JSON 解析器和@L_489_2@器,来自 阿里巴巴的工程师开发。

主要特点

  • 快速FAST (比其它任何基于Java的解析器和@L_489_2@器更快,包括jackson

  • 强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum)

  • 零依赖(没有依赖其它任何类库除了JDK)


一 、@L_489_2@Json:
JavaBean、List<JavaBean>、List<String>、List<Map<String,Object>>
  1. StringjsonString=JSON.toJSONString(obj);

二、解析Json:
(1)JavaBean
  1. Classclass=JSON.parSEObject(jsonString,Class.class);
(2)List<JavaBean>
  1. List<Class>class=JSON.parseArray((jsonString,Class.class);
(3)List<String>
  1. List<String>listString=JSON.parseArray(jsonString,String.class);
(4)List< @H_891_171@map<String,Object> >
  1. List<Map<String,Object>>listMap=JSON.parSEObject(jsonString,newTypeReference<List<Map<String,Object>>>(){});

现有这样的json数据:

{"@R_545_1@R_874_11226@6@lRecords":2615,[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
"result":{"code":"200","status":"success"},"list":[{"unuAbnId":"0bcd930f-014c-1000-e003-5f160a0d0114","entNo":"1c2e4ca8-00fa-1000-e000-74590a76bf0f","regNO":"442000600169663","entName":"x","entType":"9910  ","speCause":"3","abnTime":"Mar 13,2015 12:00:00 AM","decOrg":"442020","entNameUrl":"<a href=\".. ","audiTingFileNo":"15000684990326","abnormalID":"fd74013d-014b-1000-e00a-72970a0d0114"},{...},...],"pageNo":1,"pageSize":8,"url":"main/abnInfoPage","selList":[{"unuAbnId":"0bcd930f-014c-1000-e003-5f0f0a0d0114","entNo":"16da9629-0131-1000-e005-3effc0a803a8","regNO":"442000602187424","entNameUrl":"<a href=\"..\">","audiTingFileNo":"15000684990319","topPageNo":1,"@R_545_1@R_874_11226@6@lPages":327,"prevIoUsPageNo":0,"nextPageNo":2,"bottomPageNo":327  
}  


其中list含有2615条数据,selList含有8条数据,目标是提取selList中entNameUrl的链接(不含a href=)
外层是JSONObject,里面的list和selList是JSONArrary,再里面是JSONObject。其中的result也是JSONObject
  1. JSONObjectjsonObj=JSON.parSEObject(rawText);
  2. JSONArrayresult=jsonObj.getJSONArray("selList");
  3. List<Link>links=JSON.parseArray(result.toJSONString(),Link.class);
@H_980_262@JSONObject jsonObj = JSON.parSEObject(rawText); JSONArray result = jsonObj.getJSONArray("selList"); List<Link> links= JSON.parseArray(result.toJSONString(),Link.class);其中Link类中要有entNameUrl这个属性,并且setter和getter方法
在setter方法中可以进一步进行处理
  1. publicvoidsetEntNameUrl(StringentNameUrl){
  2. this.entNameUrl=Html.create(entNameUrl).links().get();
  3. }
这里使用了自定方法,其功能就是取出字符串中的链接

Link类中可以包含abnTime、entName、regNO等属性和对应的getter和setter方法,FastJson能自动映射。

通过下面的方法也可以处理:
  1. JSONObjectjsonObj=newJSONObject(rawText);
  2. JSONArrayjsonArray=result.getJSONArray("selList");
  3. for(inti=0;i<jsonArray.length;i++){
  4. }

大佬总结

以上是大佬教程为你收集整理的使用FastJson解析Json数据全部内容,希望文章能够帮你解决使用FastJson解析Json数据所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。