programing

Java에서 JsonObject의 null 값을 비교하는 방법

showcode 2023. 3. 31. 23:02
반응형

Java에서 JsonObject의 null 값을 비교하는 방법

stackoverflow 멤버 너의 도움이 필요해.

아래에 Json Object를 지정했습니다.

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

효과가 없는 것 같습니다.내가 여기서 뭘 잘못하고 있는지.

다음 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);
    }
if(jsonObject.isNull("parentId")){
    jsonObject.put("parentId", 0);
}

com.google.gson용.Json Object, 나는 다음을 따랐습니다.

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

내 아들에는 다음이 있습니다.

"Id":null

org.json 사용하시는 분들을 위해.2020년 JSONObject, {"key":null}이(가) 있는 경우

JSONObject로 키 값을 확인합니다.특수한 순서

JSONObject json = new JSONObject("{"key":null}");
Object value = json.get("key");
if (value == JSONObject.NULL){
  ...
}

다음 코드를 시험해 보세요.

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

다음 코드 사용 시도

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

이 두 가지 방법이 효과가 있습니다.

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

if( jsonObject.isNull("parentId") )

JSONObject에는 자체 Null 클래스가 있기 때문에 java primitive는null와 같지 않다Null()JSONObject에 있습니다.

여기에 이미지 설명 입력

언급URL : https://stackoverflow.com/questions/8802236/how-to-compare-null-value-from-the-jsonobject-in-java

반응형