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

C#移除JSON嵌套delta节点报错:无法操作JProperty求助

解决JSON中删除"delta"节点的报错问题

你遇到的Cannot add or remove items from Newtonsoft.Json.Linq.JProperty错误,是因为调用Remove方法的对象不对——你直接在JProperty上执行了删除操作,而Remove只能在JObject类型的节点上调用。

你的目标节点delta是嵌套在state这个JObject下面的属性,正确操作步骤是先定位到state节点,再删除它下面的delta:

示例代码

using Newtonsoft.Json.Linq;

// 假设你的JSON内容存储在jsonStr变量中
JObject rootJson = JObject.Parse(jsonStr);
// 获取state对应的JObject实例
JObject stateNode = (JObject)rootJson["state"];
// 删除state下的delta节点
stateNode.Remove("delta");

// 处理后的JSON字符串
string processedJson = rootJson.ToString();

补充说明

  • 别直接对rootJson["state"]["delta"]调用Remove,因为rootJson["state"]["delta"]返回的是JProperty类型,它不支持直接删除自身,必须通过父级JObject来操作。
  • 你提供的原始JSON有两处语法错误:D0600": "CCCC"后面缺少逗号,D2000": "DDDD",后面多了逗号,处理前需要修正,否则解析时会报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 01:52:21