Как сравнить значение null из JsonObject в java

Элемент stackoverflow Мне нужна помощь от вас.

У меня есть JsonObject, указанный ниже

{
"Id": null,
"Name": "New Task",
"StartDate": "2010-03-05T00:00:00",
"EndDate": "2010-03-06T00:00:00",
"Duration": 1,
"DurationUnit": "d",
"PercentDone": 60,
"ManuallyScheduled": false,
"Priority": 1,
"parentId": null,
"index": 2,
"depth": 1,
"checked": null }

Я получаю parentId как null. Я хочу заменить значение parentId с нуля на 0.

Я пытаюсь сделать это с приведенным ниже кодом

if(jsonObject.get("parentId") == null || jsonObject.get("parentId") == "")
    {
        System.out.println("inside null");
        jsonObject.put("parentId", 0);
    }
    else
    {
        System.out.println("inside else part");
        //jsonObject.put("parentId", jsonObject.getInt("parentId"));
        jsonObject.put("parentId", 0);
    }

но, похоже, он не работает. Что я делаю неправильно здесь.

Ответ 1

Используйте следующий метод JsonObject, чтобы проверить, не имеет ли значение против любого ключа значение null

public boolean isNull(java.lang.String key)

Этот метод используется для проверки Null на любой ключ или если для ключа нет значения.

проверьте это в документации

Ваш измененный код должен быть таким

if(jsonObject.isNull("parentId"))
    {
        System.out.println("inside null");
        jsonObject.put("parentId", 0);
    }
    else
    {
        System.out.println("inside else part");
        //jsonObject.put("parentId", jsonObject.getInt("parentId"));
        jsonObject.put("parentId", 0);
    }

Ответ 2

if(jsonObject.isNull("parentId")){
    jsonObject.put("parentId", 0);
}

Ответ 3

Для com.google.gson.JsonObject я выполнил следующее:

boolean isIdNull = jsonObject.get("Id").isJsonNull();

В моем json у меня есть:

"Id":null

Ответ 4

Попробуйте следующие коды.

if(jsonObject.isNull("parentId") || jsonObject.get("parentId").equals(""))