要解析的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,有些细节不再详细说明,需要请留言多多交流。
时间: 2024-11-05 15:52:18