fastJson解析复杂的json字符串,经测试已经成功解析

Posted 龙杉老师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fastJson解析复杂的json字符串,经测试已经成功解析相关的知识,希望对你有一定的参考价值。

要解析的json数据格式为:

HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	ResponseStatus: 
	{
		
	},
	Data: 
	{
		TourCopyWriterInfo: 
		{
			DefaultCopyWriter: String,
			SearchValue: String
		},
		ThemeList: 
		[
			{
				Key: String,
				Value: String,
				PoiId: String,
				IsJump: False
			}
		],
		DestinationList: 
		[
			{
				DestName: String,
				CategoryId: 0,
				SubDestList: 
				[
					{
						Key: String,
						Value: String,
						PoiId: String,
						IsJump: False
					}
				]
			}
		],
		TourProductList: 
		{
			
		}
	}
}

要解析的为Data对象中的ThemeList数组,自己写的ThemeList元素的javabean代码如下:
/**
* Created by sqhan on 2016/5/30.
*/
public class TopTripType {
String key;
String value;
String poiId;
boolean isJump;

public String getKey() {
return key;
}

public void setKey(String key) {
this.key = key;
}

public String getValue() {
return value;
}

public void setValue(String value) {
this.value = value;
}

public String getPoiId() {
return poiId;
}

public void setPoiId(String poiId) {
this.poiId = poiId;
}

public boolean isJump() {
return isJump;
}

public void setJump(boolean jump) {
isJump = jump;
}
}

解析的代码为:
//用fastjson来解析拉取到的数据,经测试已解析成功
    public List<TopTripType> parseResponseData(String responseStr) {
        List<TopTripType> result;
        try {
            JSONObject object = JSON.parseObject(responseStr);
            JSONObject data = (JSONObject) object.get("Data");
            JSONArray jsonArray = data.getJSONArray("ThemeList");
            result = JSON.parseArray(jsonArray.toJSONString(), TopTripType.class);

        } catch (Exception e) {
            result = new ArrayList<>();
            LogUtil.e(TAG, "parseResponseData()中解析json出现异常");
        }
        return result;

    }

  OK,有些细节不再详细说明,需要请留言多多交流。



以上是关于fastJson解析复杂的json字符串,经测试已经成功解析的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot Fastjson解析多层嵌套复杂Json字符串

SpringBoot Fastjson解析多层嵌套复杂Json字符串

Fastjson对复杂对象进行序列化

Json转换Bean太过复杂?试试阿里巴巴的FastJSON

fastjson进行json的解析和序列化

阿里巴巴开源的 JSON 解析库 Fastjson 被曝高危漏洞,官方已发布安全公告