C# 使用 newtonsoft 删除 json 子节点
C# remove json child node using newtonsoft
我正在 .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
后,员工 属性 将成为 JArray
。 JArray
class 有你要找的方法,比如 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);
我正在 .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
后,员工 属性 将成为 JArray
。 JArray
class 有你要找的方法,比如 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);