有没有办法从某种类型的JSON.NET JObject中删除节点

本文关键字:NET JSON JObject 节点 删除 类型 种类 有没有 | 更新日期: 2023-09-27 18:26:22

我有一个从API返回的JSON对象,其中一些节点是数组。有没有什么方法可以让我完全基于"类型"从对象中提取这些?

例如:

{ "result" : {
"field1": "value1",
"field2" : [ "val2", "val3" ],
"field3" : "val4",
"field4" : "val5" }
}

我希望能够删除"field2",因为它是一个数组。

我不知道如何迭代对象,从而给出对象的类型。

我使用的是C#和JSON.NET 6.0.5

谢谢!

有没有办法从某种类型的JSON.NET JObject中删除节点

解析数据后执行以下操作:

jsonObject.Property("field2").Remove();

我想我已经找到了答案。由于您可以将foreach与JSON对象一起使用,所以您所要做的就是检查类型并选择"继续"或不选择

示例:

foreach (var item in jobj) 
{
  if ( jobj[item.Key] is JArray ) 
  {
     continue;
  }
    // do what you would do with other types.
}

谢谢!