我正在用eclipse编写一个android应用程序。我可以连接到服务器以获得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);
答案 0 :(得分:1)
这是JSONObject
而非JSONArray
,应将其解析为:
JSONObject json_data=new JSONObject(yourstring.trim());
product_id=json_data.getString("product_id");
colour_id=json_data.getString("colour_id");
colour=json_data.getString("colour");
picture=json_data.getString("picture");
检查http://www.androidhive.info/2012/01/android-json-parsing-tutorial/