从大文件中删除JSON对象

时间:2015-06-23 10:50:59

标签: c# json

我有一个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文件可能包含数千个结果,我真的需要尽可能最高效的方式。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用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"));