Fastjson解析复杂json数据
大体上分为三步,1.准备json数据。2,导入fastjson包。3,编写代码测试。
一、准备要解析的json数据:(够复杂了吧)
{"code":200,
"msg":"OK",
"data":{"result":1,"reportForms":[ {"id":1,"title":"testTitle","qNums":0,"brief":"This is test form","direction":"Parkinson","result":"0"},{"id":3,"title":"testTitle","qNums":0,"brief":"This is test form","direction":"Parkinson","result":"0"},{"id":4,"title":"testTitle","qNums":0,"brief":"This is test form","direction":"Parkinson","result":"0"},{"id":5,"title":"testTitle","qNums":0,"brief":"This is test form","direction":"Parkinson","result":"0"}]}
}
二、导入fastjson依赖
<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.73</version></dependency>
三、编写代码解析json
//fastjson解析复杂jsonpublic static void main(String[] args) {String url = "这里是你要访问的url地址";//1、获取复杂json数据,这个HttpRequestUtils.getRequest(url)方法是我自己封装的访问接口工具类(要看这个方法的话,文章末尾有链接)String request = HttpRequestUtils.getRequest(url);//2、先解析第一层json数据JSONObject data = JSON.parseObject(request);//3、再用解析到的data来解析第二层数据,同样得到jsonobjectJSONObject data1 = data.getJSONObject("data");//4、再套娃(同样是用data1来解析获得第三层json集合)JSONArray reportForms = data1.getJSONArray("reportForms");//5、如果这不是我们需要的那一层,则接下来可以继续按上面这种思路解析//5、如果是我们需要的那一层,则有好多种取值方法://第一种:直接用reportForms的get方法根据下标取出数据,取出的是什么数据类型就用什么接收reportForms.size();//获取长度Object reportForm = reportForms.get(0);System.out.println("第一种解析方式:"+reportForm);//第二种解析方式:将上面解析到的jsonArray数据直接用tojavalist方法转成list集合,然后遍历输出//注意:参数要带上想要转成的list集合类型ReportForm.class(这个类型是我自己定义的,只要和json数据中对照就可以了),然后遍历输出List<ReportForm> list = reportForms.toJavaList(ReportForm.class);System.out.println("=======第二种方式======");list.forEach(System.out::println);//第三种方式:直接将reportForms的迭代器获取到,通过迭代器遍历System.out.println("=====第三种方式========");Iterator<Object> iterator = reportForms.iterator();while (iterator.hasNext()){System.out.println(iterator.next());}}
好了,解析结束。
这是:自定义网络接口链接
Fastjson解析复杂json数据相关推荐
- mormot解析天气预报JSON数据
mormot解析天气预报JSON数据 uses SynCommons; const json2 = '{' + #13#10 + '"error":0,' + #13#10 + ' ...
- python为什么closed_为什么Python无法解析此JSON数据? [关闭] - Why can't Python parse this JSON data? [closed]...
问题: I have this JSON in a file: 我在文件中有此JSON: { "maps": [ { "id": "blabla&qu ...
- 组装复杂json请求数据和解析复杂json数据
在项目中有很多的接口对接的问题,于是就遇到了客户提供的各种奇葩的请求体.说一下最近遇到的一个复杂的json格式请求数据如下: {"bizData": {"userList ...
- js解析\遍历json数据中所有的键和值
js解析\遍历json数据中所有的键和值 for(var key in json){ console.log(key) //键 consolelog(json[key]) //值 } 注:数组 ...
- 在线解析xml,json数据的网址
在线解析xml,json数据的网址 https://www.sojson.com/yasuoyihang.html
- 解析新浪微博JSON数据
解析新浪微博JSON数据 这里讲的是通过retrofit2请求方式得到的返回值 一.自己分析解析 默认通过responseBody 将得到的返回值 try { str=response.body(). ...
- android 解析新浪微博json数据
从新浪微博服务器获取到了好友微博的json数据后如何去解析着实让我费了一番功夫.因为返回的json数据格式比较复杂.下面我就通过代码说明一下如何来解析新浪微博的json数据.先来看一下从服务器端返回的 ...
- fastjson解析多层数据_fastJson解析多层Json数据案例
这里咱们来实现一个获取接口数据存入数据库的案例html 例如数据:java { "code":200, "msg":"ok", ...
- fastjson解析接口json格式数据
2.2 fastjson解析# fastjson是阿里巴巴开源产品之一,解析速度快. 下载地址(maven仓库):https://mvnrepository.com/artifact/com.alib ...
最新文章
- R语言构建xgboost模型:使用xgboost构建泊松回归(poisson regression)模型
- SAP RETAIL 寄售模式公司间STO流程里收货过账不能基于外向交货单?
- python文件对象提供了3个读方法、分别是-python3基础之文件对象操作
- linux分区大容量加入lvm,linux 添加磁盘+lvm扩容
- distinct的用法
- 2017/5 JavaScript基础9 --- 闭包、作用域
- Watson使用指南(三)
- 当我们谈高性能时,我们谈些什么?(送书活动)
- java httpclient 异步请求_Java利用httpasyncclient进行异步HTTP请求
- Adjacent Bit Counts(01组合数)
- Java基础练习之流程控制(三)
- md4c语言_docsify-demo/c-4操作系统.md at master · lvITStudy/docsify-demo · GitHub
- ajax的理解与工作流程
- 小辣椒安卓机器人无命令_雅奇小辣椒(安卓手机app开发软件)V1.0.1 中文版
- 星级评分原理 N次重写的分析
- 达奇机器人不能用电脑编程吗_奇幻工房智能编程机器人达奇dash编程容易学吗?适合几岁小朋友玩?...
- CIC-IDS数据集特征介绍
- 高德h5定位误差_高德地图定位JS API不准确问题
- 基于体素化方法的点云降采样
- 单枪匹马的背锅侠,终于不再是一个人的军团了
热门文章
- GTX/GTH/GTY/GTP/GTZ/GTM有什么区别?
- 如何将n维数组按照其中某个key的值进行升维?
- 还不知道transform 3D转换怎么用?看这个就够了
- 初中科学计算机使用,350MS 82MS科学计算器使用方法(初中).doc
- C/C++课程设计:停车场管理系统,290行代码助你轻松管理停车场
- Neurocomputing模板下载及编译
- 深入理解Linux内核之主调度器(下)
- Echarts社区 资源库
- openGL包含gl.h/glu.h/glaux.h/glut.h/报错
- 小米与美的的“初吻”是为了什么