服務器端采用AXIS2 提供Web Service
使用json-lib庫實現json數據的轉換。
服務器端將數據轉換為json的方法如下:
List<EnvironmentBean> envList = dbMgr.getEnvironmentInfo();
JSONArray jArray = JSONArray.fromObject(envList);
return jArray.toString();
獲得JSON數據如下:
{
"return": "[{\"ambient\":2999,\"devLocation\":\"客廳\",\"dewpoint\":29,\"humi\":29,\"id\":647,\"nodeId\":1,\"temp\":29,\"timestamp\":\"2013-12-03 11:39:20.0\"},{\"ambient\":730.28,\"devLocation\":\"客廳\",\"dewpoint\":9.14,\"humi\":52.74,\"id\":646,\"nodeId\":6,\"temp\":19,\"timestamp\":\"2013-11-20 11:05:56.0\"}]"
}
在Android客戶端中使用org.json庫進行解析的時候
出現如下的錯誤
org.json.JSONException: Unterminated object at character
求解。
"return"對應的val是個String值。
獲得該String值,再用JSON去解析對象。
應該是對JSON不了解才這樣的吧