1

次のような JSON オブジェクトを解析する必要があります。

{"searchdata":{},"userdata":{"currency":"69","notificationCount":7}}

これを達成するために次のコードを使用します。

JSONObject rootObj = new JSONObject(getResponse);
JSONObject jSearchData = rootObj.getJSONObject("searchdata");
JSONObject userData = jSearchData.getJSONObject("userdata");

String currency = userData.getString("currency");

currency上記のコードからオブジェクトを印刷できません。私は例外を取得し続けます:

Exception: org.json.JSONException: No value for userdata

何が間違っているのかわかりません。

あらゆる種類の助けをいただければ幸いです。

4

2 に答える 2

10
JSONObject rootObj = new JSONObject(getResponse);

userData中にある 中にrootObjはないsearchdata

null 値の場合は、次を使用する必要があります。

isNull

if (!rootObj.isNull("userdata")) {
    JSONObject userData = rootObj.getJSONObject("userdata");
}
于 2013-04-24T08:27:56.363 に答える
1

use

JSONObject userData = rootObj.getJSONObject("userdata");

to get currency

currency  = userData.getString("currency");

use like this way...

check object is null..

as per @blackbelt's answer use : if (!rootObj.isNull("userdata"))

于 2013-04-24T08:28:47.003 に答える