Java提取Json方括号“[]”里面各个大括号“{}“的操作(学习ing)

首先需要fashjson包
fashjson下载地址:
https://github.com/alibaba/fastjson
或者(版本1.2.78):
https://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.78/fastjson-1.2.78.jar

OK,下面开始正式操作
假如我要获取下面json的"haha"方括号里面的{“id”:1}数据

{
 "haha": [
  {"id":1},
  {"id":2},
  {"id":3}
 ]
}

然后,Java代码如下

String data = "{'haha': [{'id':1},{'id':2},{'id':3}]}";
JSONObject jsonObject1 = JSONObject.parseObject(data);
JSONArray jsonArray1 = jsonObject1.getJSONArray("haha");
JSONObject jsonObject2 = jsonArray1.getJSONObject(0);
System.out.println(jsonObject2.toJSONString());

输出结果:
在这里插入图片描述

简单说明下上述Java代码的情况。
首先将String转化为JSONObject。

JSONObject jsonObject1 = JSONObject.parseObject(data);
/*也可以
	JSONObject jsonObject1 = JSON.parseObject(data);
	JSONObject jsonObject1 = JSONArray.parseObject(data); 
*/

然后再把JSONObject转化为JSONArray并提取"data"

JSONArray jsonArray1 = jsonObject1.getJSONArray("data");

这里jsonArray1.toJSONString()输出为,看明白的小伙伴,应该就晓得还可以干啥了。
在这里插入图片描述

这里说下。JSONArray需要用getJSONObject(),也就是指定key值。
JSONObject需要用getJSONArray(),这是指定索引值(index)。
不这样,会报错的。(建议试试,哈哈)

之后,把JSONArray转化为JSONObject并指定索引

JSONObject jsonObject2 = jsonArray1.getJSONObject(0);//就是{"id":1}

最后输出用toString()或toJSONString()

/*
可jsonObject2.toString()
也可jsonObject2.toJSONString()
*/

上述二者其实差不多一样的,看源码就可以明白
在这里插入图片描述



OK,就是这样。如果文章内容存在什么不足之处请私信或在评论区告知,谢谢。





最后,感谢你阅读我的文章,感恩!

posted @ 2022-09-14 22:05  晓星晨曦  阅读(1518)  评论(0编辑  收藏  举报