0

当我从另一个活动返回字符串并尝试将其转换为 JSONArray 时,程序会向我显示:

08-22 14:51:35.313: E/YourCartActivity(1134): Error parsing data 
org.json.JSONException:
Value {"yourCart_totalPrice":"5500.00","yourCart_productName":"AAA",
"yourCart_productImg":"http:\/\/10.0.2.2\/appserv\/products\/aaa02.jpg",
"yourCart_productID":"0000002",
"yourCart_productAmount":"2",
"yourCart_shopID":"001"} 
of type org.json.JSONObject cannot be converted to JSONArray

有人知道如何解决这个问题吗?

这是我的代码:

String json = yourCartConnect.getYourCartDetails();

        try {
            JSONArray jResult = new JSONArray(json);


            for(int i=0;i<json.length();i++){
                JSONObject f = jResult.getJSONObject(i);
                YourCartEntry resultRow = new YourCartEntry();

                resultRow.setYourCart_shopID(f.getString("yourCart_shopID"));
                resultRow.setYourCart_totalPrice(f.getString("yourCart_totalPrice"));
                resultRow.setYourCart_productName(f.getString("yourCart_productName"));     
                resultRow.setYourCart_productID(f.getString("yourCart_productID"));
                resultRow.setYourCart_productImg(f.getString("yourCart_productImg"));
                resultRow.setYourCart_productAmount(f.getString("yourCart_productAmount"));

                yourCartEntries.add(resultRow);
            }

        setList(yourCartEntries);


        } catch (JSONException e) {
            Log.e("YourCartActivity", "Error parsing data " + e.toString());
            errorConnectToServer();
        }
4

4 回答 4

0

试试这个代码:

String json = yourCartConnect.getYourCartDetails();



         try {
                JSONObject jsonObject = new JSONObject(json)
                JSONArray jResult = jsonObject.getJSONArray("Your array key");

                for(int i=0;i<jResult.length();i++){
                    JSONObject f = jResult.getJSONObject(i);
                   // write your remaining code here
                }

            setList(yourCartEntries);


            } catch (JSONException e) {
                Log.e("YourCartActivity", "Error parsing data " + e.toString());
                errorConnectToServer();
            }
于 2013-08-22T08:25:42.930 回答
0

试试这个代码..

try {
    JSONArray jArray = new JSONArray("your JSON result........");
    JSONObject json_data = null;
    StringBuilder print = new StringBuilder();
    for (int i = 0; i < jArray.length(); i++) {
        json_data = jArray.getJSONObject(i);
        System.out.println("json_data : " + json_data);
        System.out.println("\n");
        print.append(json_data.getString("yourCart_shopID") + ", " + 
            json_data.getString("yourCart_totalPrice") + ", " + 
            json_data.getString("yourCart_productName") + ", " + 
            json_data.getString("yourCart_productID") + ", " + 
            json_data.getString("yourCart_productImg") + ", " + 
            json_data.getString("yourCart_productAmount") + "\n");
        yourCartEntries.add(print.toString());
    }
    setList(yourCartEntries);
} catch (JSONException e1) {
    e1.printStackTrace();
}
于 2014-01-08T05:56:44.293 回答
0

尝试这个..

String json = yourCartConnect.getYourCartDetails();

        try {
            if(!TextUtils.isEmpty(json)){
              JSONObject f=new JSONObject(json);
              YourCartEntry resultRow = new YourCartEntry();    
              resultRow.setYourCart_shopID(f.getString("yourCart_shopID"));
              resultRow.setYourCart_totalPrice(f.getString("yourCart_totalPrice"));
              resultRow.setYourCart_productName(f.getString("yourCart_productName"));     
              resultRow.setYourCart_productID(f.getString("yourCart_productID"));
              resultRow.setYourCart_productImg(f.getString("yourCart_productImg"));
              resultRow.setYourCart_productAmount(f.getString("yourCart_productAmount"));
              setList(resultRow);
            }
        } catch (JSONException e) {
            Log.e("YourCartActivity", "Error parsing data " + e.toString());
            errorConnectToServer();
        }
于 2016-11-07T05:44:00.867 回答
0

你有 JSONObject 字符串,而不是 JSONArray,

JSON数组在这里

例如:

[{"yourCart_totalPrice":"5500.00","yourCart_productName":"AAA","yourCart_productImg":"http:\/\/10.0.2.2\/appserv\/products\/aaa02.jpg","yourCart_productID":"0000002","yourCart_productAmount":"2","yourCart_shopID":"001"}]
于 2015-12-31T10:44:16.627 回答