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

时间:2014-10-14 05:31:12

标签: c# json json.net

我有一个从API返回的JSON对象,有些节点是数组。有没有办法让我完全根据"类型"将它们从对象中拉出来。 ?

例如:

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

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

我不确定如何以一种给我对象类型的方式遍历对象。

我正在使用C#和JSON.NET 6.0.5

谢谢!

2 个答案:

答案 0 :(得分:13)

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

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

答案 1 :(得分:0)

我想我找到了答案。由于您可以将foreach与JSON对象一起使用,因此您只需检查类型并选择继续&#39; <或者

示例:

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

谢谢!