您的位置:首页 > Web前端 > JavaScript

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

2016-05-31 11:07 597 查看
要解析的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,有些细节不再详细说明,需要请留言多多交流。

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: