stackoverflow成员我需要你的帮助。
我在下面给出了一个JsonObject
{
"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 }
我将parentId视为null。我想将parentId值从null替换为0。
我正在尝试使用下面提到的代码
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);
}
但它似乎不起作用。我在这里做错了什么。
答案 0 :(得分:118)
使用以下JsonObject方法检查针对任何键的值是否为null
public boolean isNull(java.lang.String key)
此方法用于针对任何键检查Null,或者如果没有键值。
中查看此内容您的修改后的代码应该是这样的
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);
}
答案 1 :(得分:4)
对于com.google.gson.JsonObject,我遵循了这个:
boolean isIdNull = jsonObject.get("Id").isJsonNull();
在我的json中,我有:
"Id":null
答案 2 :(得分:3)
if(jsonObject.isNull("parentId")){
jsonObject.put("parentId", 0);
}
答案 3 :(得分:1)
请尝试以下代码。
if(jsonObject.isNull("parentId") || jsonObject.get("parentId").equals(""))
答案 4 :(得分:1)
对于在2020年使用org.json.JSONObject的任何人, 如果您有{“ key”:null}
通过JSONObject.NULL检查密钥的值
JSONObject json = new JSONObject("{"key":null}");
Object value = json.get("key");
if (value == JSONObject.NULL){
...
}
答案 5 :(得分:0)
尝试使用下一个代码
int parentId = jsonObject.optInt("parentId", 0)
答案 6 :(得分:0)