如何使用方法 TryGetPropertyValue 或 JSON 路径从 JToken 中的 属性 读取值?

How to read value from property inside JToken by either using the method TryGetPropertyValue or JSON path?

给定一个名为 distanceJToken,其内容如下

{ "232": { "travelDistance": 25.0 } }

我想从中读取字段 travelDistance。首先我尝试了这个

distance.TryGetPropertyValue("travelDistance", float.MaxValue)

但这 returns 后备值 float.MaxValue。然后我尝试使用 JSON 路径

distance.SelectToken("$.travelDistance")

但是这个returnsnull。这些是我的调试结果

如何读取 属性 travelDistance 的值?

使用JObject您可以读取字段值

var jObj = JObject.Parse(jsonString);
var result = Convert.ToDecimal(jObj["232"]["travelDistance"]);

var result1 = Convert.ToDecimal(jObj.SelectToken("232.travelDistance"));

var result2 = Convert.ToDecimal(jObj.SelectToken("*.travelDistance"));

var result3 = jObj.SelectTokens("*.travelDistance")
                  .Select(x => Convert.ToDecimal(x))?
                  .FirstOrDefault();