簡體   English   中英

無法將org.json.JSONObject類型的數據轉換為JSONArray

[英]Data of type org.json.JSONObject cannot be converted to JSONArray

我不明白,為什么會有這個錯誤:

04-24 22:11:51.263:W / System.err(27504):org.json.JSONException:值<!--HERE JSON VALUE--> VALUE- <!--HERE JSON VALUE-->類型為org.json.JSONObject的數據無法轉換為JSONArray

這是我的代碼:

JSONObject getProgile = null;

try {
    //get json  
    getProgile = new JSONObject(CustomHttpClient.executeHttpGet(profileGetURL).toString());
    //convert array
    JSONArray array = getProgile.getJSONArray("data");

    for (int i = 0; i < array.length(); i++) {
        JSONObject c = array.getJSONObject(i);

        //get TAG_CUSTOMER
        JSONObject customer = c.getJSONObject("Customer");

        pName = customer.getString("name");
        pLname = customer.getString("name");
    }

UPD:我的json

{
    "status": "success",
    "data": {
        "Customer": {
            "id": "33",
            "company_id": "1",
            "name": "SDfsdf",
            "birthdate": "14.02.1989",
            "email": "dsfsdf@sf.ff",
            "photo": "/files/clients_photos/33/(null)",
            "bonuses": "50",
            "created": "2015-02-14 12:22:46",
            "modified": "2015-02-14 12:22:46",
            "ref_id": null,
            "ref_code": "6363696029",
            "banned": null,
            "ban_reason": null,
            "ban_ending": null
        },
        "CustomerVisit": [],
        "CustomerBonus": [
            {
                "id": "29",
                "customer_id": "33",
                "user_id": "4",
                "product_id": null,
                "operation": "plus",
                "amount": "50",
                "subject": "Загрузка фото при регистрации.",
                "remain": null,
                "modified": "2015-02-14 12:22:46",
                "date": "14.02.2015",
                "created": "14.02.2015 12:22"
            }
        ],
        "CustomerCar": [
            {
                "id": "41",
                "customer_id": "33",
                "car_brand_id": "9",
                "car_model_id": "11530",
                "year": "2020",
                "vin": "sdfsdfsdf",
                "photo": "",
                "number": "dsfsdf",
                "created": "2015-02-14 12:22:46",
                "modified": "2015-02-14 12:22:46",
                "car_brand_name": "BMW",
                "car_model_name": "323"
            }
        ],
        "CustomerPhone": [
            {
                "id": "41",
                "customer_id": "33",
                "phone": "+380990010222",
                "created": "2015-02-14 12:22:46",
                "modified": "2015-02-14 12:22:46"
            }
        ],
        "Insurance": [],
        "Event": [],
        "Review": [],
        "Reservation": []
    }
}

問題是您嘗試使用JSON數組轉換JSON對象,因此會發生錯誤。

如果您只想獲取名稱,則可以執行以下操作:

getProgile = new JSONObject(CustomHttpClient.executeHttpGet(profileGetURL).toString());
JSONObject obj1 = getProgile.getJSONObject("data");
JSONObject obj2 = array.getJSONObject("Customer");
String name = obj2.getString("name");

JSON顯示數據是JSONObject而不是JSONArray,因此調用getProfile.getJSONObject(“ data”)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM