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,就是这样。如果文章内容存在什么不足之处请私信或在评论区告知,谢谢。
最后,感谢你阅读我的文章,感恩!