如何删除 JArray 中的 属性?

How to delete a property in a JArray?

我有一个 JArray,如下所示,文件 属性 包含一个 base64 字符串,所以它很大,如何删除它?

{ 
  "files": [
    {
      "filename": "892a3a3bb7814d67995d4059b278c581.png",
      "real_filename": "Logo - Trimmed.png",
      "filesize": 42198,
      "filetype": "image/png",
      "file": "xxxx"
    },
    {
      "filename": "22a3a3bb7814d67995d4059b278c581.png",
      "real_filename": "Logo - Trimmed2.png",
      "filesize": 42198,
      "filetype": "image/png",
      "file": "xxxx"
    }
  ] 
}

我已经在下面尝试过,但它抛出了一个异常:

Cannot add or remove items from Newtonsoft.Json.Linq.JProperty.

for (int _i = 0; _i < _ja_files.Count; _i++) 
{
     _ja_files[_i]["file"].Remove();
}

迭代 JArray 中的 JObject 并使用 JObject.Remove() 删除 属性。

var jObj = JObject.Parse(jsonStr);
        
foreach (JObject obj in jObj["files"] as JArray)
{
    obj.Remove("file");
}

Sample program