json値がnullであることをどのように検出できますか?例:[{"username":null}、{"username": "null"}]
最初のケースは存在しないユーザー名を表し、2番目のケースは「null」という名前のユーザーを表します。しかし、それらを取得しようとすると、両方の値が文字列「null」になります。
JSONObject json = new JSONObject("{\"hello\":null}");
json.put("bye", JSONObject.NULL);
Log.e("LOG", json.toString());
Log.e("LOG", "hello="+json.getString("hello") + " is null? "
+ (json.getString("hello") == null));
Log.e("LOG", "bye="+json.getString("bye") + " is null? "
+ (json.getString("bye") == null));
ログ出力は
{"hello":"null","bye":null}
hello=null is null? false
bye=null is null? false
has(java.lang.String);
メソッドを使用しないでください