C#使用newtonsoft删除json子节点

我正在使用.net 3.5中的c#wpf开发一个应用程序。 我使用newtonsoft库来解析json字符串。

我想知道如何删除json的子节点。

例如,我的json数据=

{"employees":[ {"firstName":"John", "lastName":"Doe"}, {"firstName":"Anna", "lastName":"Smith"}, {"firstName":"Peter", "lastName":"Jones"}]} 

function

 jobject.Remove("employees"); 

成功删除所有节点

我想知道如何单独删除第一个员工细节。

将json解析为JObject ,employees属性将成为JArrayJArray类具有您正在寻找的方法,例如JArray.RemoveAt

以下代码将执行您想要的操作

 string json = @"{ ""employees"":[ { ""firstName"":""John"", ""lastName"":""Doe""}, { ""firstName"":""Anna"", ""lastName"":""Smith""}, { ""firstName"":""Peter"", ""lastName"":""Jones""} ] }"; dynamic obj = JObject.Parse(json); (obj.employees as JArray).RemoveAt(0); // obj now only has "Anna Smith" and "Peter Jones" 

dynamic是在.NET 4.0中引入的,所以对于3.5,你会使用类似的东西

 JObject obj = JObject.Parse(json); (obj["employees"] as JArray).RemoveAt(0);