Fastjson处理复杂层级关系的json对象
fastjson
FASTJSON 2.0.x has been released, faster and more secure, recommend you upgrade.
项目地址:https://gitcode.com/gh_mirrors/fastj/fastjson
免费下载资源
·
处理复杂层级关系的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));
得到最终结果
制作不易,转载请标注~
GitHub 加速计划 / fastj / fastjson
25.69 K
6.51 K
下载
FASTJSON 2.0.x has been released, faster and more secure, recommend you upgrade.
最近提交(Master分支:3 个月前 )
c942c834 - 1 年前
5bc4709b - 1 年前
更多推荐
已为社区贡献1条内容
所有评论(0)