How to compare null value from the JsonObject in java

坚强是说给别人听的谎言 提交于 2020-01-20 20:05:16

问题


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.


回答1:


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



回答2:


For com.google.gson.JsonObject, I followed this :

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

In my json, I have :

"Id":null



回答3:


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



回答4:


Try the following codes.

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



回答5:


Try to use the next code

int parentId = jsonObject.optInt("parentId", 0)



回答6:


These two methods works

if( jsonObject.get("parentId").equals(null) )

if( jsonObject.isNull("parentId") )

Because the JSONObject has its own Null class, so java primitive null is not same as Null() in JSONObject.



来源:https://stackoverflow.com/questions/8802236/how-to-compare-null-value-from-the-jsonobject-in-java

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!