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.
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);
}
Pour com.google.gson.JsonObject, j'ai suivi ceci:
boolean isIdNull = jsonObject.get("Id").isJsonNull();
Dans mon json, j'ai:
"Id":null
if(jsonObject.isNull("parentId")){
jsonObject.put("parentId", 0);
}
Essayez les codes suivants.
if(jsonObject.isNull("parentId") || jsonObject.get("parentId").equals(""))
Essayez d'utiliser le code suivant
int parentId = jsonObject.optInt("parentId", 0)