我正在使用.net 3.5中的c#wpf开发一个应用程序。我使用newtonsoft库来解析json字符串。
我想知道如何删除json的子节点。
例如,我的json数据=
{"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}]}
功能
jobject.Remove("employees");
成功删除所有节点
我想知道如何单独删除第一个员工详细信息。
将json解析为JObject
后,employees属性将成为JArray
。JArray
类具有您要查找的方法,例如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);
obj.SelectToken("Employees")[0].Parent.Remove();