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 }
nullとしてparentIdを取得しています。 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);
}
Com.google.gson.JsonObjectの場合、これに従いました。
boolean isIdNull = jsonObject.get("Id").isJsonNull();
私のjsonでは、私は持っています:
"Id":null
if(jsonObject.isNull("parentId")){
jsonObject.put("parentId", 0);
}
次のコードを試してください。
if(jsonObject.isNull("parentId") || jsonObject.get("parentId").equals(""))
次のコードを使用してみてください
int parentId = jsonObject.optInt("parentId", 0)