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;
}
}

解析的代碼為:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//用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,有些細節不再詳細說明,需要請留言多多交流。




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM