如何用Newtonsoft.Json框架求和含"Example"的JSON键对应值?
解决方法
用Newtonsoft.Json的JObject来处理这个需求非常直接,几步就能搞定:
- 先把JSON字符串解析成
JObject对象,方便后续操作; - 遍历这个对象的所有属性;
- 筛选出属性名里包含
"Example"的项; - 把这些项的数值加起来得到总和。
下面是完整的可运行代码示例:
using Newtonsoft.Json.Linq; class Program { static void Main() { string json = @"{ ""Example1344"": 13, ""Example925"": 16, ""Example454Example"": 24, ""Nothing"": 51, ""Other9235"": 45 }"; // 解析JSON为可操作的JObject实例 JObject jsonObj = JObject.Parse(json); int total = 0; // 遍历所有属性,逐个检查筛选 foreach (var prop in jsonObj.Properties()) { if (prop.Name.Contains("Example")) { // 直接转成int累加(已知值都是整数的情况下) total += (int)prop.Value; } } Console.WriteLine(total); // 输出结果:53 } }
补充说明:
- 如果你的JSON值可能存在非整数的情况,或者想让代码更健壮,可以加个类型判断避免转换出错:
if (prop.Value.Type == JTokenType.Integer) { total += (int)prop.Value; }
- 要是值是浮点类型,把
int换成double或者用Convert.ToDouble(prop.Value)就行。
内容的提问来源于stack exchange,提问作者Kurt
相关产品推荐
相关产品推荐

