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.

Was it helpful?

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
scroll top