fastjson解析JSON数据乱序导致的问题
本文作者:合肥工业大学 电子商务研究所 钱洋 email:1563178220@qq.com 。
内容可能有不到之处,欢迎交流。
未经本人允许禁止转载。
文章目录
- 问题背景
- 问题解决
- 完整的案例代码
问题背景
在编写网络爬虫时,经常要处理JSON数据。其中,针对JSON字符串,可利用fastjson将其转化成JSON对象,例如:
JSONObject jsonfile = JSONObject.parseObject(standardJson);
但对复杂的JSON文件,如该网站中通过在元素中嵌入的JSON字符串串。
格式化的JSON文件为:
在采集多页数据时,使用fastjson解析类似的JSON串,如果使用上述代码,可能会产生报错。
原因是parseObject(String json)方法在将JSON字符串转化成JSON对象时,调整了顺序,而顺序改变可能导致解析出错。
问题解决
在fastjson中,还提供了其他操作JSON的方法,可以使得转化的JSON对象和输入的JSON字符串保持一致,如下为该方法的使用。
JSONObject jsonfile = JSONObject.parseObject(standardJson, Feature.OrderedField);
基于这种方法处理后的JSON对象,再去解析便不会产生错误。
完整的案例代码
请关注网络爬虫技术-JAVA网络爬虫:https://github.com/soberqian/Java-Carwler-Technology
fastjson解析JSON数据乱序导致的问题相关推荐
- 78. Spring Boot完美使用FastJson解析JSON数据【从零开始学Spring Boot】
[原创文章,转载请注明出处] 个人使用比较习惯的json框架是fastjson,所以spring boot默认的json使用起来就很陌生了,所以很自然我就想我能不能使用fastjson进行json解析 ...
- SpringBoot中使用FastJson解析Json数据
场景 1.SpringBoot默认配置的是Jackson. 2.项目搭建专栏: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/column/info/35688 ...
- 5.spring boot使用FastJson解析JSON数据
2019独角兽企业重金招聘Python工程师标准>>> 1.引入FastJson依赖包 <dependency><groupId>com.alibaba< ...
- Andorid中使用Gson和Fast-json解析库解析JSON数据---第三方库学习笔记(二)
JSON介绍: JSON:JavaScript对象表示法 JSON是存储和交换文本信息的语法. 特点: JSON是轻量级的文本数据交换格式 JSON独立于语言和平台 JSON具有自我描述性,更易理解 ...
- Okhttp源码分析以及Google Gson解析json数据实例
Okhttp Github的Okhttp OkHttp是一个高效的HTTP客户端,它有以下默认特性: 支持HTTP/2,允许所有同一个主机地址的请求共享同一个socket连接 透明的GZIP压缩减少响 ...
- fastjson解析json简介
2019独角兽企业重金招聘Python工程师标准>>> 一.简介 阿里巴巴FastJson是一个Json处理工具包,是一个Java语言编写的高性能功能完善的JSON库.,包括&quo ...
- gson生成jsonobject_GSON形式生成和解析json数据
GSON 方式生成和解析 json 数据 客户端与服务器进行数据交互时, 常常需要将数据在服务器端将数据转化成字符串并在客户 端对 json 数据进行解析生成对象. 但是用 jsonObject 和 ...
- 老罗Android开发视频教程( android解析json数据 )4集集合
老罗Android开发视频教程( android解析json数据 )4集集合 老罗Android开发视频教程( android解析json数据 ) 第一集android解析json数据 http:// ...
- Java解析JSON数据
Java解析JSON数据 1.什么是JSON? JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式. 它基于 ECMAScript (欧洲计 ...
最新文章
- php要求掌握链表结构吗,PHP 链表结构之单链表(一)
- BeanShell中的Java指令和表达式
- 数据库跟缓存的双写一致性
- 关于Nginx的limit_conn模块的思考
- 3年,感谢你与几维安全一起经历的风风雨雨
- windows2008吃尽内存的解决办法
- SQL组合查询union
- 小米笔记本充电实测追求速度牺牲兼容性小米笔记本充电驱动_是海尔?也是雷神?不足1千克MixBook Air超轻薄笔记本...
- 程序员30多岁了还单身的原因
- 凸优化第八章几何问题 8.5 中心
- c++ 如何获取移动硬盘_M.2 NVMe固态移动硬盘如此DIY,零难度+低成本+速度快
- 深入浅出python机器学习——K最邻近算法(K-Nearest Neighbors,KNN)
- ansys linux 安装教程pdf,Deepin linux安装Ansys13详细教程.pdf
- 第六季 流放之路教程
- AndroidStudio 3.4更新了啥?
- HNUSTOJ-1621 Picking Cabbage(状态压缩DP)
- SpringCloud与微服务Ⅴ --- Eureka服务注册与发现
- 随手笔记之逆序输出数字
- 目标检测 YOLOv5 - ncnn模型的加密 C++实现封装库和Android调用库示例
- 分享几个 Github 镜像网站(亲测可用)
热门文章
- Javascript window.fetch API
- 面试官系统精讲Java源码及大厂真题 - 08 HashMap 源码解析
- CentOS系统Tomcat 8.5/9部署SSL证书
- 数据可视化组件Grafana详细解读--MacOSX上的安装
- cloudflare 批量域名ID
- JRebel Idea热更新插件
- 【Nginx那些事】nginx配置实例(一)反向代理
- 标称型数据和数值型数据_统计信息中的数据类型-标称,有序,间隔和比率数据类型,并举例说明
- 赠送300家门店260亿销售额的零售企业Power BI实战示例数据
- html 比 htm 的载入速度快,htm和html