2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > Fastjson处理复杂层级关系的json对象

Fastjson处理复杂层级关系的json对象

时间:2024-06-17 06:37:16

相关推荐

Fastjson处理复杂层级关系的json对象

处理复杂层级关系的json对象

我们一般的项目现在都是前后端分离,从前端传过来的都是序列化好的json数据,但是我们后台如何获取呢,那就不获取了呗~,上代?

用到了阿里的Fastjson来处理

导入pom文件

<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.49</version></dependency>

直接开用,如何转化json的字符串呢?

JSONObject jsonObject = JSON.parseObject(result)

其中result就是json的字符串,转化为jsonObject

转化成功就如上图所示,变成了一个jsonObject的对象

层级复杂怎么办,多半是装的,打一顿就好了

看到这种让人头疼的层级关系特别复杂的json怎么办?干就完事了

先看代码

JSONArray jsonArray=jsonObject.getJSONObject("data").getJSONArray("fileList").getJSONObject(0).getJSONArray("labels");

我这里最终想获取一个labels的数组,我怎么把它提取出来呢,看上面代码

由于我要获取一个数组,我用JSONArray类型的jsonObject是之前已经转化好的json字符串它的第一层名是data并不是数组,那我们先加上一句getJSONObject(“data”)第二层名是fileList提示我们是一个数组,里面包含了一个名为0的数组元素,所以我们加上getJSONArray(“fileList”)第三层名为0,不是数组,但是是上一层的数组元素,加上getJSONObject(0)表示获取第一个元素第四层我们要进入labels里面,是个数组加上getJSONArray(“labels”)最终我们完成了取出元素

取出来就是这个样子的

由于都是数字,我们将它转化为list

List list = new ArrayList<>();for(Object jstr:jsonArray){list.add(jstr);}

输出它的第一个list的值

System.out.println(list.get(0));

得到最终结果

制作不易,转载请标注~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。