Ни одна из этих двух вещей null
; они массивы. Результат именно то, что вы ожидаете.
Один из ваших массивов пуст, другой содержит один элемент null
.
Если вы хотите узнать, является ли массив пустым, вам нужно получить массив, а затем проверить его длину.
JSONObject myJsonObject =
new JSONObject("{\"null_object_1\":[],\"null_object_2\":[null]}");
if (myJsonObject.getJSONArray("null_object_1").length() == 0) {
...
}
Изменить, чтобы уточнить: Массив без элементов (пустой) и массив с элементом, равным null
, представляют собой совершенно разные вещи . В случае вашего второго массива он не является ни null
, ни пустым. Как я уже говорил, это массив, который имеет единственный элемент null
. Если вам интересно определить, так ли это, вам нужно получить массив, а затем пройтись по нему, проверяя каждый элемент, чтобы определить, является ли он null
, и соответствующим образом воздействовать на результаты.