从大文件中删除JSON对象

本文关键字:JSON 对象 删除 文件 | 更新日期: 2023-09-27 17:59:23


我有一个JSON文件,我希望能够在C#中进行修改。我希望能够删除一组数据。

[
{
    "ID": "ID0000001",
    "Name": "ABCD",
    "Std": "4"
},
{
    "ID": "ID5335355",
    "Name": "JKLM",
    "Std": "6"
},
{
    "ID": "ID53534535",
    "Name": "XYZ",
    "Std": "12"
}
]

如何删除一个id、name和std.,如下所示:

{
    "ID": "ID0000001",
    "Name": "ABCD",
    "Std": "4"
}

删除这个json文件后,如下所示:

[    
{
    "ID": "ID5335355",
    "Name": "JKLM",
    "Std": "6"
},
{
    "ID": "ID53534535",
    "Name": "XYZ",
    "Std": "12"
}
]

我需要对Json文件执行一个接一个的删除操作。Json文件可能包含数千个结果,我真的需要尽可能高的性能。

非常感谢您的帮助。

从大文件中删除JSON对象

您可以使用Json.NET将字符串反序列化为对象。然后使用Linq选择所需项目,然后再次使用Json.NET获取JSON字符串。

public class Item
{
   public int ID {get; set;}
   public string Name{get;set;}
   public int Std {get; set;}
}
var items = JsonConvert.DeserializeObject<List<Item>>(JsonString);
var newJsonString = JsonConvert.SerializeObject(items.Where(i => i.ID != "ID0000001"));