web-dev-qa-db-fra.com

Comment comparer la valeur nulle du JsonObject dans java

membre stackoverflow j'ai besoin de votre aide.

J'ai un JsonObject donné ci-dessous

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

je reçois parentId comme nul. Je veux remplacer la valeur parentId de null à 0.

J'essaie de le faire avec le code mentionné ci-dessous

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

mais cela ne semble pas fonctionner. Ce que je fais mal ici.

27
yaryan997

Utilisez la méthode suivante de JsonObject pour vérifier si une valeur par rapport à une clé est nulle

public boolean isNull(Java.lang.String key)

Cette méthode est utilisée pour vérifier Null par rapport à n'importe quelle clé ou s'il n'y a aucune valeur pour la clé.

vérifiez cela dans la documentation

Votre code modifié devrait être comme ceci

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);
    }
120
Rajesh Pantula

Pour com.google.gson.JsonObject, j'ai suivi ceci:

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

Dans mon json, j'ai:

"Id":null
4
AndroidGuy
if(jsonObject.isNull("parentId")){
    jsonObject.put("parentId", 0);
}
3
Farmor

Essayez les codes suivants.

if(jsonObject.isNull("parentId") || jsonObject.get("parentId").equals(""))
1
Yu Sun corn

Essayez d'utiliser le code suivant

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