How to compare null value from the JsonObject in java
Question
stackoverflow member i need some help from you.
I am having a JsonObject given below
{
"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 }
i am getting parentId as null. I want to replace the parentId value from null to 0.
I am trying to do it with below mentioned code
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);
}
but it seems not to be working. What I am doing wrong here.
Solution
Use the following method of JsonObject to check if a value against any key is null
public boolean isNull(java.lang.String key)
This method is used to check Null against any key or if there is no value for the key.
check this in the documentation
Your Modified code should be like this
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);
}
OTHER TIPS
For com.google.gson.JsonObject, I followed this :
boolean isIdNull = jsonObject.get("Id").isJsonNull();
In my json, I have :
"Id":null
if(jsonObject.isNull("parentId")){
jsonObject.put("parentId", 0);
}
Try the following codes.
if(jsonObject.isNull("parentId") || jsonObject.get("parentId").equals(""))
Try to use the next code
int parentId = jsonObject.optInt("parentId", 0)
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow