0

我正在用 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);
4

1 回答 1

1

这是一个JSONObjectnot 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/

于 2012-11-16T15:03:46.230 回答