springbootfastjson解析多层嵌套复杂json字符串(代码片段)

BasicLab基础架构实验室 BasicLab基础架构实验室     2023-02-24     530

关键词:

1 []中括号代表的是一个数组;
2 大括号代表的是一个对象
3 双引号“”表示的是属性值
4 冒号:代表的是前后之间的关系,冒号前面是属性的名称,后面是属性的值,这个值可以是基本数据类型,也可以是引用数据类型。

Fastjson中的经常调用的方法

parseObject(String text);: 把JSON文本parse成JSONObject
parse(String text);: 把JSON文本parse为JSONObject或者JSONArray
key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)
value如果是字符串,用jsonobj.getString("key")获取
value如果是数  字,用jsonobj.getIntValue("key"),jsonobj.getFloatValue("key"),jsonobj.getInteger("key")等基本数据类型及其包装类的方法获取
value如果是布尔值,用jsonobj.getBoolean("key"),jsonobj.getBooleanValue("key")获取
value如果是数  组,用jsonobj.getJSONArray("key")获取
value如果是Object对象,用jsonobj.get("key"),获取
value如果是JSONObject对象,用jsonobj.getJSONObject("key")获取

    "code":"200",
    "msg":"ok",
    "data":
        "total":1,
        "rows":[
            
                "text":"xxx",
                "sampleBatchDetailDTOList":[
                    
                        "Id":"xxx",
                    
                ]
            
        ]
        "pageIndex":0,
        "pageSize":1
    

JSON中有一个data对象,data中有一个rows数组,rows中有一个匿名对象,匿名对象中有一个sampleBatchDetailDTOList数组。解析顺序:

//1.将json字符串转化为json对象
JSONObject json = JSONObject.parseObject(result);
//2.取出data部分
JSONArray data = json.getJSONObject("data");
//3.取出data中的数组
JSONArray jsonArray = data.getJSONArray("rows");
//4.遍历
for (Object object : jsonArray) 
//将object强转成JSONObject对象
JSONObject item = (JSONObject) JSON.toJSON(object);
//创建map集合保存属性
 Map<String, Object> objectMap = Maps.newHashMapWithExpectedSize(11);
 objectMap.put("TEXT", item.get("text"));
 //嵌套遍历JSONObject对象item中的数组sampleBatchDetailDTOList
 for (Object sampleBatchDetailDTOList : item.getJSONArray("sampleBatchDetailDTOList")) 
	//将object强转成JSONObject对象
   	JSONObject obj = (JSONObject) JSON.toJSON(sampleBatchDetailDTOList);
   	...
 
 ...
...

如何用python解析多层嵌套的json?

近期遇到用Python解析多层嵌套的JSON的困难,通过json.loads转为dict类型后,使用dict['key']来调取value,会提示TypeError:stringindicesmustbeintegersJSON文件如链接:https://api.doctorxiong.club/v1/fund?code=010300,009683,006355,006697JSON的第二层是个二... 查看详情

js解析多层嵌套的json,取出所有父元素属性和遍历所有子元素

已知一个多层嵌套的json,取出所有父元素和子元素的id值思路:因为不知道到底嵌套了多少层,递归有可能造成栈溢出、查询时间特别久的问题所以先查询一次,判断是否有子节点,如果有,取出子节点并到父节点上,并动态更... 查看详情

ios模型多层嵌套模型用mjextension怎么解析

参考技术A你可以把json里模型对应的数组当做key来解析,MJExtension里提供了两个方法来帮助你解析在模型里嵌套的模型。首先,你需要在模型里面定义一个数组属性和一个需要存放的模型属性,如下:@property(nonatomic,strong)NSMutableArra... 查看详情

java怎么解析多层嵌套的json得到每个元素

用Jackson我只会做后面的数组部分"result":"cases":"page":1,"pagesize":10,"totalrows":11,"pages":2,"sort":"-createtime","results":["Id":111111,"No":null,"Name":"case1... 查看详情

c#json提取多层嵌套到数组

json比一般格式再复杂点的就像数组一样,有多层嵌套,研究了一下,记录代码如下:stringjsonText="{‘name‘:‘test‘,‘phone‘:‘18888888888‘,‘image‘:[{‘name‘:‘img1‘,‘data‘:‘data1‘},{‘name‘:‘img2‘,‘data‘:‘data2‘},{‘name‘:... 查看详情

使用yield压平多层嵌套字典列表混合数据(代码片段)

使用yield压平多层嵌套字典列表混合数据摄影:产品经理买单:kingname在上一篇文章里面,我们讲到了如何使用Python的yield关键字简化代码,压平多层嵌套字典的。那么如果我们的数据不仅仅有字典,还有列表,是一个字典列表多... 查看详情

关于python中beautifulsoup多层嵌套下标签内容寻找使用方法。

...知道class是关键字不能当参数名字么 参考技术CBeautifulSoup解析不要用‘lxml’,会丢失内容,用‘html.parser’ 查看详情

iframe多层嵌套时获取元素

一、同域:1、父页面获取子页面元素:注意:onload事件jQuery获取:$("iframe").contents().find("holder")......;(嵌套三层,或者更多时)$(‘iframe‘).contents().find(‘iframe‘).contents().find("iframe")......js获取:window.frames["holder"].contentW 查看详情

多层次查询深度嵌套复杂的 JSON 数据

】多层次查询深度嵌套复杂的JSON数据【英文标题】:QueryingdeeplynestedandcomplexJSONdatawithmultiplelevels【发布时间】:2021-09-2616:35:10【问题描述】:我正在努力分解从深度嵌套的复杂JSON数据中提取数据所需的方法。我有以下代码来获... 查看详情

nodejsasync使用方法(解决多层回调嵌套)

...据,最后在处理逻辑就需要用到此扩展;此扩展可以避免多层回调;安装方法:npminstallasync使用方法:1、parallel多个函数并行执行  1varAsync=require(‘async‘);23Async.parallel(4[5function(callback){6//此处查询数据库代码7DaoU 查看详情

asp.net提取多层嵌套json数据的方法

本文实例讲述了ASP.NET利用第三方类库Newtonsoft.Json提取多层嵌套json数据的方法,具体例子如下。假设需要提取的json字符串如下:{"name":"lily","age":23,"addr":{"city":guangzhou,"province":guangdong}}先引用命名空间:usingNewtonsoft.Json;usingNewtonsoft.... 查看详情

springboot处理fastjson的多层嵌套

我要获取json的信息,但是问题是json嵌套了太多层,刚开始我想到阿里巴巴的fastjson工具导入依赖<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.66</version></ 查看详情

selenium如何处理多层嵌套iframe(代码片段)

文章目录Selenium如何处理多层嵌套iframe1、如果iframe里面还套了一个iframe2、如何不直接回到主文档,而是返回上一层iframeSelenium如何处理多层嵌套iframe1、如果iframe里面还套了一个iframe我们可以通过多次切换,进入到对应的i... 查看详情

iview自定义验证表单多层嵌套如何实现

...比较复杂,对象里面又嵌套对象,该如何校验?本文给出多层对象嵌套的方法。如下: 查看详情

XSL muenchian-多层次分组和嵌套

】XSLmuenchian-多层次分组和嵌套【英文标题】:XSLmuenchian-groupingonmultiplelevelsandnesting【发布时间】:2018-10-2001:04:11【问题描述】:输入:<?xmlversion="1.0"encoding="UTF-8"?><root><output><queries><query><parameter 查看详情

多层嵌套可迭代列表的剥皮函数(代码片段)

python中很多时候可能会遇到多层嵌套可迭代列表如下:list1=[11,22,[33,44,[55,66]]]list2=[11,22,[33,44]]其中我们想要的结果只是一个所有的结果列表而已.此时就需要一个剥皮函数,把嵌套的元素全部剥离出来,放入一个列表中(递归实现).实现... 查看详情

Django Graphene 使用多层嵌套外键编写突变

】DjangoGraphene使用多层嵌套外键编写突变【英文标题】:DjangoGraphenewritingmutationswithmultiplelayersofnestedforeignkeys【发布时间】:2021-02-0121:37:30【问题描述】:如何编写嵌套外键的架构和查询?我检查了文档,没有发现如何执行此操作... 查看详情

asp.net提取多层嵌套json数据的方法

publicstringGetJsonValue(JEnumerable<JToken>jToken,stringkey){IEnumeratorenumerator=jToken.GetEnumerator();while(enumerator.MoveNext()){JTokenjc=(JToken)enumerator.Current;if(jcisJObject||((JPro 查看详情