0
我正在用eclipse寫一個android應用程序。我可以連接到服務器以獲得json響應。不過,我的迴應是這樣的。來自服務器的JSON回覆
\n\n{"product_id":"200003578","category":"Jacket","price":"799","description":"Wool blended, Pea","details":"73% Wool, 27 Nylon"}\n
無法通過eclipse解析並返回異常。
有誰知道我該如何處理這個響應並將其解析爲數組?
這裏是我的PHP代碼:
include ("db3.inc");
$sql = "SELECT * from product WHERE product_id='200003578'";
$result = mysql_query($sql);
$array = mysql_fetch_assoc($result);
$product_id=$array['product_id'];
echo json_encode($array);
這裏是我用於解碼JSON響應代碼。
String product_id = null;
String colour_id = null;
String colour= null;
String picture= null;
try{
JSONArray jArray = new JSONArray(z);
JSONObject json_data=null;
for(int i=0;i<jArray.length();i++){
json_data = jArray.getJSONObject(i);
product_id=json_data.getString("product_id");
colour_id=json_data.getString("colour_id");
colour=json_data.getString("colour");
picture=json_data.getString("picture");
}
}catch(JSONException e1){
//Toast.makeText(getBaseContext(), "No Food Found", Toast.LENGTH_LONG).show();
}
myActivity.text.setText(product_id);
非常感謝!它適用於我的設備! –
如果我不知道由一個對象或兩個對象組成的響應(即一個對象數組),該怎麼辦?我如何處理這種情況? –
我不知道爲什麼json_encode($ array);發出一個對象而不是數組,但是如果你不知道服務器是否會發出一個數組或對象,那麼可以嘗試對它進行解析並採用不會拋出異常的結果。 –