変数を使用する場合、JSON オブジェクトから名前/値のペアを取得できませんが、名前をハードコーディングする場合は読み取ることができます。
よりよく説明するには:
1) 私の JSON オブジェクトは次のようになります - {..... { "rates":{ "name1": value1, "name2": value2 ...etc } ...}
2) Android アプリでこのオブジェクトを読み取ることができます。
3)今、このレートオブジェクト名と値のペア、私はユーザー入力に基づいて読み取ろうとしています -
String s1 = '"'+name1+'"'; // here name1 i got from user input, & converted into string
4)料金オブジェクトから値を取得しようとすると、null 例外が発生します -
JSONObject rateObject = jObject.getJSONObject("rates"); //able to get
complete object
String rate1 = (String) rateObject.get(s1); // giving NULL exception
5)しかし、ハードコード文字列を使用すると、機能します-
String rate1 = (String) rateObject.get("name1"); // working
変数の使用中に機能しない理由を示すポインタ。
ありがとう
提案をありがとう、私は問題を整理しました。私が行っていた2つの間違いがあります-1)他の人が正しく指摘したように引用符を使用し、2)二重値を文字列にキャストします。両方を修正すると、私の問題は解決しました:)