在 Android Studio 中从 JSON 中的数组获取字符串

Get a String from an Array in JSON in Android Studio

我有问题。我想从具有 3 个数组的 JSONObject 访问一个字符串 ("name"),我正在尝试访问这 3 个数组中的特定一个。

这是更大的数组。

{"id":[{"id":"2","name":"Yuliem"}],"success":1,"message":"Product successfully created."}

我想访问名为id的那个,然后访问"name"中的数据。

TAG_CODE = hospitalSelectedId;
        hspCode = hospitalSelectedId;
        TAG_IMEI = imei;

        //Build the parameters
        List<NameValuePair> params = new ArrayList<>();
        params.add(new BasicNameValuePair("code", TAG_CODE));
        params.add(new BasicNameValuePair("imei", TAG_IMEI));
        params.add(new BasicNameValuePair("long", String.valueOf(lon)));
        params.add(new BasicNameValuePair("lat", String.valueOf(lat)));
        params.add(new BasicNameValuePair("alt", String.valueOf(alt)));

        //Getting JSON Object
        JSONObject json = jsonParser.makeHttpRequest(url_login, "POST", params);

        //Check logcat for response
        Log.d("Create Response", json.toString());

        try {
            success = json.getInt(TAG_SUCCESS);
            //userId = ;
            Log.d("User's id: ", String.valueOf(json.get("id")));

            if (success == 1) {
                // finish closes the current Activity
                // finish();

                Intent goHome = new Intent(LoginActivity.this, HomepageActivity.class);
                startActivity(goHome);
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }

前面的代码给了我

[{"id":"2","name":"Yuliem"}]

但我不知道如何访问 "name"。请帮助:)

如果你想获得"Yuliem"你可以这样做:

String json = "{\"id\":[{\"id\":\"2\",\"name\":\"Yuliem\"}],\"success\":1,\"message\":\"Product successfully created.\"}";
JSONObject obj = new JSONObject(json);
JSONArray array = (JSONArray) obj.get("id");
JSONObject innerObj = (JSONObject) array.get(0);
Log.d("User's name: ",innerObj.get("name"));