You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除JArray中value匹配删除列表项的JObject

移除JArray中匹配指定ID的JObject

你可以使用Newtonsoft.Json(Json.NET)的API实现需求,以下是两种实用方案:

方案一:修改原JArray(批量移除)

先收集所有需要删除的JObject,再从原数组中逐个移除(避免遍历过程中修改集合导致异常):

// 假设已解析得到原始JArray
JArray originalArray = JArray.Parse(yourJsonContent);
List<string> IdsToDelete = new List<string> { "275869398491926942" };

// 筛选出所有value在删除列表中的JObject
var itemsToRemove = originalArray
    .Where(jObj => IdsToDelete.Contains(jObj["value"].ToString()))
    .ToList();

// 批量移除
foreach (var item in itemsToRemove)
{
    originalArray.Remove(item);
}

// 输出处理后的JSON
Console.WriteLine(originalArray.ToString(Formatting.Indented));

方案二:生成新的筛选后JArray

直接通过LINQ筛选出需要保留的元素,生成新的JArray,代码更简洁:

JArray originalArray = JArray.Parse(yourJsonContent);
List<string> IdsToDelete = new List<string> { "275869398491926942" };

// 筛选出value不在删除列表中的元素,构建新JArray
JArray filteredArray = new JArray(
    originalArray.Where(jObj => !IdsToDelete.Contains(jObj["value"].ToString()))
);

// 输出结果
Console.WriteLine(filteredArray.ToString(Formatting.Indented));

两种方法都能得到你需要的输出结果,方案二更适合不需要保留原数组的场景,方案一则直接修改原数组。

内容的提问来源于stack exchange,提问作者abhishek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 06:42:08