C#提取JSON中code值时JObject.SelectToken返回null如何解决
问题原因
你的JSON结构中serviceMessage字段是数组类型,不是普通对象,你写的serviceMessage.code路径默认是查询对象下的code属性,和实际结构不匹配,所以返回null。
修复方案
方案1:取数组第一个元素的code值
如果确定数组里永远至少有一个元素,直接通过下标取第一个元素的属性即可:
// 注意路径增加[0]标识取数组第0位元素 var jsonData = json.SelectToken("serviceMessage[0].code");
方案2:提取数组所有元素的code值
如果数组可能有多条数据,要把所有code都取出来,用通配符匹配所有数组元素:
// [*]匹配数组所有元素,返回所有匹配的code字段集合 List<string> allCodes = json.SelectTokens("serviceMessage[*].code") .Select(t => t.Value<string>()) .ToList();
内容的提问来源于stack exchange,提问作者Ralph Jason Caballes
相关产品推荐
相关产品推荐

