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

C#中如何统计反序列化为dynamic的JSON的value数组元素个数

方案1:沿用当前dynamic写法

你用JsonConvert.DeserializeObject反序列化到dynamic时,JSON数组对应的底层类型是Newtonsoft.Json的JArray,可以直接读取Count属性获取元素数,加上空判断避免空引用异常即可:

// value为null/不存在时返回0
int valueCount = jss.value != null ? jss.value.Count : 0;

你的示例数据运行后valueCount的值就是2,符合预期。

方案2:更稳妥的JObject解析写法(推荐)

dynamic类型没有编译时类型检查,容易出现运行时错误,建议直接用JObject解析JSON:

using Newtonsoft.Json.Linq; // 需先引入该命名空间

// ... 其他代码
string kq = reader.ReadToEnd();
JObject jObj = JObject.Parse(kq);
// 空安全写法,value为null/不存在时返回0
int valueCount = jObj["value"]?.Count() ?? 0;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 12:15:02