服务器端返回的json数据的解析

[size=medium][color=black]服务器端返回的json数据格式如下
{
"resp":
{
"appVOList":
[
{
"msAppId": 52,
"appName": "软件市场15",
"appImgUrl": "http://192.168.1.100:8080/html5/eoeMarket2_align_v_200_icon.png",
"appTJZS": 0
},
{
"msAppId": 45,
"appName": "软件市场1",
"appImgUrl": "111",
"appTJZS": 0
},
{
"msAppId": 29,
"appName": "软件市场4",
"appImgUrl": "111",
"appTJZS": 0
}
],
"page":
{
"pageIndex": 0,
"pageSize": 15,
"pageSum": 1,
"rowCount": 6
},
"infoText": "成功!",
"infoCode": "0000"
}
}[/color][size=xx-small][/size][size=x-small][/size][/size]

[size=medium]解析:

/**
* 分析服务器回传的json格式的数据,
* 把解析后的数据放到List中
*/
List<ContentValues> jsonList = new ArrayList<ContentValues>();
@Override
public void readJSONObject(JSONObject jsonObject) throws Exception {
if(Log.LOGV) Log.d(TAG, "前:"+jsonObject.toString());
jsonObject = (JSONObject) jsonObject.get("resp");
if(Log.LOGV) Log.d(TAG, "后:"+jsonObject.toString());
if(Log.LOGV) Log.d(TAG, "———————服务器返回的searchresult的json—————————");
readJsonResult(jsonObject);
readJsonPage(jsonObject);
}

/**
* 解析搜索结果数据
* @param jsonObj
*/
private void readJsonResult(JSONObject jsonObj) {
if(Log.LOGV) Log.d(TAG, "******** result *********");
if(Log.LOGV) Log.d(TAG, jsonObj.toString());
try{
if(jsonObj.has("appVOList")){
JSONArray jsonArray = jsonObj.getJSONArray("appVOList");
if(jsonArray.length() > 0){
for(int i=0;i<jsonArray.length();i++){
JSONObject jsonOj = jsonArray.getJSONObject(i);
int appId = -1;
String appImgUrl = "";
String appName = "";
String appAuthor = "";
int appRate = -1;
if(jsonOj.has("msAppId")){
appId = jsonOj.getInt("msAppId");
}
if(jsonOj.has("appImgUrl")){
appImgUrl = jsonOj.getString("appImgUrl");
}
if(jsonOj.has("appName")){
appName = jsonOj.getString("appName");
}
if(jsonOj.has("appAuthor")){
appAuthor = jsonOj.getString("appAuthor");
}
if(jsonOj.has("appTJZS")){
appRate = jsonOj.getInt("appTJZS");
}
ContentValues values = new ContentValues();
values.put(SearchResultMeta.APP_ID, appId);
values.put(SearchResultMeta.APP_IMG_URL, appImgUrl);
values.put(SearchResultMeta.APP_NAME, appName);
values.put(SearchResultMeta.APP_AUTHOR, appAuthor);
values.put(SearchResultMeta.APP_RATE, appRate);
jsonList.add(values);
if(Log.LOGV) Log.d(TAG, "SearchResultJson>>>" + " msAppId=" + appId + " appName=" + appName
+ " appAuthor=" + appAuthor + " appRate=" + appRate);

}
}else{
if(Log.LOGV) Log.d(TAG, "服务器端无返回数据");
}
}
}catch(Exception e){
e.printStackTrace();
}
}

/**
* 解析分页信息数据
* @param jsonObj
*/
private void readJsonPage(JSONObject jsonObj) {
if(Log.LOGV) Log.d(TAG, "******** page *********");
if(Log.LOGV) Log.d(TAG, jsonObj.toString());

try{
if(jsonObj.has("page")){
JSONObject jobj = jsonObj.getJSONObject("page");
if(jobj.has("rowCount")){
rowCount = jobj.getInt("rowCount");
Log.d(TAG, "rowCount="+rowCount);
}
}
}catch(Exception e){
e.printStackTrace();
}
}[/size][color=black][/color]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值