【问题标题】:C# remove json child node using newtonsoftC# 使用 newtonsoft 删除 json 子节点
【发布时间】:2015-02-08 14:57:44
【问题描述】:

我正在.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");

成功删除所有节点

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

【问题讨论】:

    标签: c# json wpf json.net


    【解决方案1】:

    将 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);
    

    【讨论】:

      猜你喜欢
      • 2018-06-26
      • 1970-01-01
      • 2021-05-09
      • 2021-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多