Jak porównać null z JsonObject w java


członek stackoverflow Potrzebuję twojej pomocy.
Mam JsonObject podany poniżej
{
"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 }

otrzymuję parentId jako null. Chcę zamienić wartość parentId z null na 0.
Próbuję to zrobić za pomocą poniższego kodu
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);
}

ale to nie działa. To, co tu robię, jest złe.
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Użyj następującej metody JsonObject, aby sprawdzić, czy wartość dowolnego klucza ma wartość null
public boolean isNull(java.lang.String key)

Ta metoda służy do sprawdzania wartości Null w dowolnym kluczu lub w przypadku braku wartości dla klucza.
sprawdź to

dokumentacja
http://www.json.org/javadoc/or ... %2529
Twój zmodyfikowany kod powinien wyglądać tak
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);
}
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Dla com.google.gson.JsonObject of the year śledziłem to:
boolean isIdNull = jsonObject.get("Id").isJsonNull();

W moim roku json mam:
"Id":null
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

if(jsonObject.isNull("parentId")){
jsonObject.put("parentId", 0);
}
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Spróbuj użyć następujących kodów.
if(jsonObject.isNull("parentId") || jsonObject.get("parentId").equals(""))
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Spróbuj użyć następującego kodu
int parentId = jsonObject.optInt("parentId", 0)
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Te dwie metody działają
if( jsonObject.get("parentId").equals(null) )
if( jsonObject.isNull("parentId") )
Ponieważ JSONObject ma własną klasę Null, prymityw java
null
nie jest tym samym, co
Null ()
w JSONObject.
https://i.stack.imgur.com/Yhxdo.png

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się