簡體   English   中英

在數組之前用2個對象解析JSON

[英]Parse JSON with 2 objects before an array

我目前正在嘗試在android應用程序中解析一些JSON,但我不斷收到錯誤消息:“對用戶沒有價值”

這是我正在使用的當前代碼:

JSONObject parentObject = new JSONObject(finalJSON);

            JSONObject childObject = new JSONObject(String.valueOf(parentObject));

            JSONArray parentArray = childObject.getJSONArray("users");

            JSONObject finalObject = parentArray.getJSONObject(0);

            String userName = finalObject.getString("username");

            String profileLink = finalObject.getString("profileimage");

            Log.d("JSON", String.valueOf(finalObject));

            return profileimage+ " - " + profileLink ;

這是我的JSON:

{
"reply": {
    "users": [
        {
            "userid": "001",
            "loggedIn": 1,
            "username": "joe.bloggs",
            "profileimage": "http://127.0.0.1/joebloggs.png",
            "realname": "Joe Bloggs",
        }
    ]

   }
}

提前致謝!

您忘記了reply級別。

這是您應該做的。

JSONObject parentObject = new JSONObject(finalJSON);


JSONArray userArray = parentObject
                .getJSONObject("reply")
                .getJSONArray("users");

JSONObject finalObject = userArray.getJSONObject(0);

您不能在對象內部使用新對象。

您必須這樣做才能解析對象內部的對象。

JSONObject object1 =  new JSONObject(finalJSON);

JSONObject object2 =  object1.getJSONObject("reply");

JSONArray jsonArray = object2.getJSONArray("users");

JSONObject object3 =  jsonArray.getJSONObject(0);

嘗試以下方法:

JSONObject root = null;
try {
    root = new JSONObject("reply");
    JSONArray childArray = root.getJSONArray("users");
    String userName = childArray.getString(0);
    .
    .
    .
} catch (JSONException e) {
    e.printStackTrace();
}

暫無
暫無

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

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