Mendapatkan Nilai String dari Objek Json Android

Saya pemula di Android. Dalam Proyek saya, saya mendapatkan json berikut dari Respon HTTP.

[{"Date":"2012-1-4T00:00:00",
"keywords":null,
"NeededString":"this is the sample string I am needed for my project",
"others":"not needed"}]

Saya ingin mendapatkan "NeededString" dari json di atas. Bagaimana cara mendapatkannya?

Larutan

Ini mungkin bisa membantu Anda.

Java:

JSONArray arr = new JSONArray(result);
JSONObject jObj = arr.getJSONObject(0);
String date = jObj.getString("NeededString");

Kotlin:

val jsonArray = JSONArray(result)
val jsonObject: JSONObject = jsonArray.getJSONObject(0)
val date= jsonObject.get("NeededString")
Komentar (3)

Anda hanya perlu mendapatkan JSONArray dan iterasi JSONObject di dalam Array menggunakan loop meskipun dalam kasus Anda hanya satu JSONObject tetapi Anda mungkin memiliki lebih banyak.

JSONArray mArray;
        try {
            mArray = new JSONArray(responseString);
             for (int i = 0; i < mArray.length(); i++) {
                    JSONObject mJsonObject = mArray.getJSONObject(i);
                    Log.d("OutPut", mJsonObject.getString("NeededString"));
                }
        } catch (JSONException e) {
            e.printStackTrace();
        }
Komentar (2)

Sertakan org.json.jsonobject dalam proyek Anda.

Anda kemudian dapat melakukan ini:

JSONObject jresponse = new JSONObject(responseString);
responseString = jresponse.getString("NeededString");

Dengan asumsi, responseString menyimpan respons yang Anda terima.

Jika Anda perlu tahu bagaimana cara mengubah respons yang diterima menjadi String, berikut'cara melakukannya:

ByteArrayOutputStream out = new ByteArrayOutputStream();
response.getEntity().writeTo(out);
out.close();
String responseString = out.toString();
Komentar (1)