java使用FastJson解析Json数据

发布时间 - 2026-01-10 22:56:56    点击率:

fastjson 是一个性能极好的用 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。

主要特点:

  • 快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson)
  • 强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum)
  • 零依赖(没有依赖其它任何类库除了JDK)

一 、生成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>>>(){}); 

现有这样的json数据:

{"totalRecords":2615, 
"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":"442025", 
"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", 
"entName":"x", 
"entType":"9910 ", 
"speCause":"3", 
"abnTime":"Mar 13, 2015 12:00:00 AM", 
"decOrg":"442025", 
"entNameUrl":"<a href=\"..\">", 
"auditingFileNo":"15000684990319", 
"abnormalID":"fd74013d-014b-1000-e00a-72970a0d0114"},{...},{...},...], 
"topPageNo":1, 
"totalPages":327, 
"previousPageNo":0, 
"nextPageNo":2, 
"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能自动映射。

通过下面的方法也可以处理:

JSONObject jsonObj = new JSONObject(rawText); 
JSONArray jsonArray = result .getJSONArray("selList"); 
for (int i = 0; i < jsonArray.length; i++) {   
} 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# fastjson解析json  # fastjson解析json数据  # fastjson解析复杂json  # 浅谈Java中FastJson的使用  # Java中常用解析工具jackson及fastjson的使用  # Java FastJson使用教程  # Java 中FastJson的基本使用  # Java的JSON处理器fastjson使用方法详解  # java FastJson的简单用法  # 类中  # 是一个  # 要有  # 阿里巴巴  # 更快  # 不含  # 主要特点  # 大家多多  # 自定  # 类库  # 使用了  # js  # json  # nbsp  # listString  # totalRecords  # TypeReference  # parseArray  # parseObject  # obj 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  linux top下的 minerd 木马清除方法  香港服务器租用每月最低只需15元?  Laravel模型事件有哪些_Laravel Model Event生命周期详解  如何快速打造个性化非模板自助建站?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】  Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  移动端脚本框架Hammer.js  Laravel怎么上传文件_Laravel图片上传及存储配置  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  Laravel如何创建自定义Facades?(详细步骤)  Laravel怎么判断请求类型_Laravel Request isMethod用法  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  iOS中将个别页面强制横屏其他页面竖屏  JavaScript如何实现路由_前端路由原理是什么  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  Laravel Docker环境搭建教程_Laravel Sail使用指南  Swift中swift中的switch 语句  b2c电商网站制作流程,b2c水平综合的电商平台?  HTML 中动态设置元素 name 属性的正确语法详解  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  如何基于云服务器快速搭建网站及云盘系统?  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】  高性价比服务器租赁——企业级配置与24小时运维服务  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  如何快速搭建高效香港服务器网站?  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  Android okhttputils现在进度显示实例代码  Laravel怎么为数据库表字段添加索引以优化查询  nodejs redis 发布订阅机制封装实现方法及实例代码  西安专业网站制作公司有哪些,陕西省建行官方网站?  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  JavaScript常见的五种数组去重的方式  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  浅谈Javascript中的Label语句  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  Laravel如何使用模型观察者?(Observer代码示例)  ,怎么在广州志愿者网站注册?