要解析的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,有些细节不再详细说明,需要请留言多多交流。