- 爱易网页
 
                        - 
                            JavaSript
 
                        - 服务器端回到的json数据的解析 
 
                         
                    
                    
                    日期:2014-05-16  浏览次数:20504 次 
                    
                        
                         服务器端返回的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 = 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
	 */
	privat
                        
                     
                    
                    
                        免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。