前言
首先我在这里整理一下关于今天遇到的一些问题。最大的问题就是在于这个JSON类型的数据怎么转换的问题,还有一点就是关于这个List 中的JSON串的处理问题。
一、pom.xml文件设置?
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.9</version>
</dependency>
二、基本使用
今天当然就是简单的对这个FASTJSON的操作,这里我们的最好的操作就是关于该fastJSON的操作而已,其次就是关于一些基础知识的简介。
首先今天让我很尴尬的一件事情就是关于:JSONObject不能直接转换为JSONArray,当时我使用很多种方式,都没能成功,最后还是在一篇博客的帮助下面完善了该步骤。 这里我们遇到的最大问题就是怎么把这个不能转换的JSONArray转换为我们可以使用的JSONObject类型。
话不多说,我们直接上代码来看。
result = "{"ifResult":"0","ifResultInfo":"{\"ifResult\":\"success\",\"ifResultInfo\":\"[\\n {\\\"AREA_CODE\\\":\\\"510400000000\\\", \\\"AREA_LEVEL\\\":\\\"2\\\", \\\"AREA_NAME\\\":\\\"攀枝花市\\\", \\\"AREA_SIMPLE_NAME\\\":\\\"攀枝花市\\\",\\n \\\"PARENT_AREA_ID\\\":\\\"1431\\\", \\\"UPDATE_TIME\\\":\\\"2019-10-29 10:17:48\\\", \\\"CREATE_TIME\\\":\\\"2018-04-17 13:24:47\\\"}\\n ,\\n {\\\"AREA_CODE\\\":\\\"510402000000\\\", \\\"AREA_LEVEL\\\":\\\"3\\\", \\\"AREA_NAME\\\":\\\"东区\\\", \\\"AREA_SIMPLE_NAME\\\":\\\"东区\\\",\\n \\\"PARENT_AREA_ID\\\":\\\"386\\\", \\\"UPDATE_TIME\\\":\\\"2020-03-17 15:49:32\\\", \\\"CREATE_TIME\\\":\\\"2018-04-17 13:25:26\\\"}\\n ,\\n {\\\"AREA_CODE\\\":\\\"510402001193\\\", \\\"AREA_LEVEL\\\":\\\"5\\\", \\\"AREA_NAME\\\":\\\"光明社区\\\", \\\"AREA_SIMPLE_NAME\\\":\\\"光明社区\\\",\\n \\\"PARENT_AREA_ID\\\":\\\"3789370818590461952\\\", \\\"UPDATE_TIME\\\":\\\"2018-09-21 09:34:42\\\", \\\"CREATE_TIME\\\":\\\"2018-09-04 11:17:44\\\"}\\n ,\\n {\\\"AREA_CODE\\\":\\\"510402001492\\\", \\\"AREA_LEVEL\\\":\\\"5\\\", \\\"AREA_NAME\\\":\\\"东方红社区\\\", \\\"AREA_SIMPLE_NAME\\\":\\\"东方红社区\\\",\\n \\\"PARENT_AREA_ID\\\":\\\"3789370818590461952\\\", \\\"UPDATE_TIME\\\":\\\"2018-09-21 09:34:33\\\", \\\"CREATE_TIME\\\":\\\"2018-09-04 11:17:02\\\"}\\n ,\\n {\\\"AREA_CODE\\\":\\\"510402001530\\\", \\\"AREA_LEVEL\\\":\\\"5\\\", \\\"AREA_NAME\\\":\\\"南山社区居民委员会\\\", \\\"AREA_SIMPLE_NAME\\\":\\\"南山社区\\\",\\n \\\"PARENT_AREA_ID\\\":\\\"3789370818590461952\\\", \\\"UPDATE_TIME\\\":\\\"2020-07-14 17:33:08\\\", \\\"CREATE_TIME\\\":\\\"2020-07-14 17:33:08\\\"}\\n ,\\n {\\\"AREA_CODE\\\":\\\"510402001701\\\", \\\"AREA_LEVEL\\\":\\\"5\\\", \\\"AREA_NAME\\\":\\\"金福社区\\\", \\\"AREA_SIMPLE_NAME\\\":\\\"金福社区\\\",\\n \\\"PARENT_AREA_ID\\\":\\\"3789370818590461952\\\", \\\"UPDATE_TIME\\\":\\\"2018-09-21 09:35:01\\\", \\\"CREATE_TIME\\\":\\\"2018-09-04 11:17:22\\\"}\\n ,\\n {\\\"AREA_CODE\\\":\\\"510402001768\\\", \\\"AREA_LEVEL\\\":\\\"5\\\", \\\"AREA_NAME\\\":\\\"大渡口社区\\\", \\\"AREA_SIMPLE_NAME\\\":\\\"大渡口社区\\\",\\n \\\"PARENT_AREA_ID\\\":\\\"3789370818590461952\\\", \\\"UPDATE_TIME\\\":\\\"2018-09-21 09:34:51\\\", \\\"CREATE_TIME\\\":\\\"2018-09-04 11:16:14\\\"}\\n ,\\n {\\\"AREA_CODE\\\":\\\"510402002122\\\", \\\"AREA_LEVEL\\\":\\\"5\\\", \\\"AREA_NAME\\\":\\\"二街坊社区\\\", \\\"AREA_SIMPLE_NAME\\\":\\\"二街坊社区\\\",\\n \\\"PARENT_AREA_ID\\\":\\\"3788941406472163328\\\", \\\"UPDATE_TIME\\\":\\\"2018-09-21 09:42:51\\\", \\\"CREATE_TIME\\\":\\\"2018-09-04 10:51:14\\\"}\\n ,\\n {\\\"AREA_CODE\\\":\\\"510402002140\\\", \\\"AREA_LEVEL\\\":\\\"5\\\", \\\"AREA_NAME\\\":\\\"凤凰社区\\\", \\\"AREA_SIMPLE_NAME\\\":\\\"凤凰社区\\\",\\n \\\"PARENT_AREA_ID\\\":\\\"3788941406472163328\\\", \\\"UPDATE_TIME\\\":\\\"2018-11-06 11:36:31\\\", \\\"CREATE_TIME\\\":\\\"2018-09-04 10:27:16\\\"}}";
//首先我们这里转换为JSONObject对象
JSONObject jsonObject = JSONObject.parseObject(result);
//获取该字符串中的key,拿到key对应的数据。
String ifResultInfo = jsonObject.getString("ifResultInfo");
//这里我们继续把拿到数据继续转换为 JSONObject
JSONObject ifResult = JSONObject.parseObject(ifResultInfo);
String results = ifResult.getString("ifResultInfo");
//这里我们直接将拿到的String 转换为JSONArray 类型
JSONArray jsonArray = (JSONArray) JSONArray.parse(results);
System.out.println(jsonArray.size());
for (int i = 0; i < jsonArray.size(); i++) {
//由于我们这里转换到的数据都是一个个的JSON字符串,所以我们这里使用
//JSONObject 在把转换的JSONArray 转换为Object类型
JSONObject object = jsonArray.getJSONObject(i);
// System.out.println(object);
if (7 > Integer.valueOf(object.getString("AREA_LEVEL"))) {
//遍历该Object就可以拿到我们想要的数据了
list.add(object);
}
在这里想说的是什么,一定要看清楚自己的数据类型是什么东西,之前我记得是List类型的数据,但是这里实在是没办法,才这样的操作,后面我也会持续更新这个问题的,今天真的傻逼,有点小迷,感觉自己还是要多多练习关于这方面的知识。