大体上分为三步,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数据相关推荐

  1. mormot解析天气预报JSON数据

    mormot解析天气预报JSON数据 uses SynCommons; const json2 = '{' + #13#10 + '"error":0,' + #13#10 + ' ...

  2. 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 ...

  3. 组装复杂json请求数据和解析复杂json数据

    在项目中有很多的接口对接的问题,于是就遇到了客户提供的各种奇葩的请求体.说一下最近遇到的一个复杂的json格式请求数据如下: {"bizData": {"userList ...

  4. js解析\遍历json数据中所有的键和值

    js解析\遍历json数据中所有的键和值 for(var key in json){ console.log(key)    //键 consolelog(json[key])  //值 } 注:数组 ...

  5. 在线解析xml,json数据的网址

    在线解析xml,json数据的网址 https://www.sojson.com/yasuoyihang.html

  6. 解析新浪微博JSON数据

    解析新浪微博JSON数据 这里讲的是通过retrofit2请求方式得到的返回值 一.自己分析解析 默认通过responseBody 将得到的返回值 try { str=response.body(). ...

  7. android 解析新浪微博json数据

    从新浪微博服务器获取到了好友微博的json数据后如何去解析着实让我费了一番功夫.因为返回的json数据格式比较复杂.下面我就通过代码说明一下如何来解析新浪微博的json数据.先来看一下从服务器端返回的 ...

  8. fastjson解析多层数据_fastJson解析多层Json数据案例

    这里咱们来实现一个获取接口数据存入数据库的案例html 例如数据:java {   "code":200,   "msg":"ok",   ...

  9. fastjson解析接口json格式数据

    2.2 fastjson解析# fastjson是阿里巴巴开源产品之一,解析速度快. 下载地址(maven仓库):https://mvnrepository.com/artifact/com.alib ...

最新文章

  1. R语言构建xgboost模型:使用xgboost构建泊松回归(poisson regression)模型
  2. SAP RETAIL 寄售模式公司间STO流程里收货过账不能基于外向交货单?
  3. python文件对象提供了3个读方法、分别是-python3基础之文件对象操作
  4. linux分区大容量加入lvm,linux 添加磁盘+lvm扩容
  5. distinct的用法
  6. 2017/5 JavaScript基础9 --- 闭包、作用域
  7. Watson使用指南(三)
  8. 当我们谈高性能时,我们谈些什么?(送书活动)
  9. java httpclient 异步请求_Java利用httpasyncclient进行异步HTTP请求
  10. Adjacent Bit Counts(01组合数)
  11. Java基础练习之流程控制(三)
  12. md4c语言_docsify-demo/c-4操作系统.md at master · lvITStudy/docsify-demo · GitHub
  13. ajax的理解与工作流程
  14. 小辣椒安卓机器人无命令_雅奇小辣椒(安卓手机app开发软件)V1.0.1 中文版
  15. 星级评分原理 N次重写的分析
  16. 达奇机器人不能用电脑编程吗_奇幻工房智能编程机器人达奇dash编程容易学吗?适合几岁小朋友玩?...
  17. CIC-IDS数据集特征介绍
  18. 高德h5定位误差_高德地图定位JS API不准确问题
  19. 基于体素化方法的点云降采样
  20. 单枪匹马的背锅侠,终于不再是一个人的军团了

热门文章

  1. GTX/GTH/GTY/GTP/GTZ/GTM有什么区别?
  2. 如何将n维数组按照其中某个key的值进行升维?
  3. 还不知道transform 3D转换怎么用?看这个就够了
  4. 初中科学计算机使用,350MS 82MS科学计算器使用方法(初中).doc
  5. C/C++课程设计:停车场管理系统,290行代码助你轻松管理停车场
  6. Neurocomputing模板下载及编译
  7. 深入理解Linux内核之主调度器(下)
  8. Echarts社区 资源库
  9. openGL包含gl.h/glu.h/glaux.h/glut.h/报错
  10. 小米与美的的“初吻”是为了什么