我有一个JObject,我想检查该对象是否存在某个键值对,如果存在,则从键中获取值,然后删除键。
JObject-props
{
"name": "Red Game",
"id": "0060a00000alKw3AAE",
"statecode": 0,
"StudioId": {
"pfstudioid": "B20996D68598FF7F"
},
"statuscode": 1,
"lastapicall": "2018-10-11T00:00:00Z"
}
在我的代码中,我有:
if (props.ContainsKey("StudioId.pfstudioid"))
{
string value= props.GetValue("StudioId.pfstudioid")
props.Remove("StudioId.pfstudioid");
}
但是它没有发现它们的键存在于JObject中,并跳过了if
条件块。我该如何正确书写?
答案 0 :(得分:1)
问题不是您的.ContainsKey
方法,而是props.Remove()
。您不能使用点符号来删除子项。您可以通过以下方式删除此密钥:
props.Value<JObject>("StudioId").Remove("pfstudioid");
在这里查看我的.net小提琴:https://dotnetfiddle.net/8mVEaa