服务器端返回的json数据的解析
服务器端返回的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"
}
}[size=xx-small][/size]
解析:
/**
*分析服务器回传的json格式的数据,
*把解析后的数据放到List中
*/
List<ContentValues>jsonList=newArrayList<ContentValues>();
@Override
publicvoidreadJSONObject(JSONObjectjsonObject)throwsException{
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);
}
/**
*解析搜索结果数据
*@paramjsonObj
*/
privatevoidreadJsonResult(JSONObjectjsonObj){
if(Log.LOGV)Log.d(TAG,"********result*********");
if(Log.LOGV)Log.d(TAG,jsonObj.toString());
try{
if(jsonObj.has("appVOList")){
JSONArrayjsonArray=jsonObj.getJSONArray("appVOList");
if(jsonArray.length()>0){
for(inti=0;i<jsonArray.length();i++){
JSONObjectjsonOj=jsonArray.getJSONObject(i);
intappId=-1;
StringappImgUrl="";
Stringappname="";
StringappAuthor="";
intappRate=-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");
}
ContentValuesvalues=newContentValues();
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(Exceptione){
e.printStackTrace();
}
}
/**
*解析分页信息数据
*@paramjsonObj
*/
privatevoidreadJsonPage(JSONObjectjsonObj){
if(Log.LOGV)Log.d(TAG,"********page*********");
if(Log.LOGV)Log.d(TAG,jsonObj.toString());
try{
if(jsonObj.has("page")){
JSONObjectjobj=jsonObj.getJSONObject("page");
if(jobj.has("rowCount")){
rowCount=jobj.getInt("rowCount");
Log.d(TAG,"rowCount="+rowCount);
}
}
}catch(Exceptione){
e.printStackTrace();
}
}[color=black][/color]