How to compare null value from the JsonObject in java

yaryan997 picture yaryan997 · Jan 10, 2012 · Viewed 82k times · Source

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.

Answer

Rajesh Pantula picture Rajesh Pantula · Jan 10, 2012

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);
    }