如何获取JValue对象的名称

Bar*_*run 5 c# json json.net

我正在使用Newtonsoft.Json来解析Json文本.出于某种原因,我需要JToken或Jvalue对象的名称.例如,如果"ChoiceId":865是JValue,那么我需要获得"ChoiceId".但我现在尝试了几个小时,但无法弄清楚如何.我怎么能得到那个名字?

谢谢

示例:如果这是json文件内容:

{"ChoiceId":868,"Choice":"Post","Url":"/pst/goods"}
Run Code Online (Sandbox Code Playgroud)

然后我可以通过使用获得ChoiceId值

JObject json = JObject.Parse(hole);
JValue jvalue = (Jvalue)json["ChoiceId"];
string value = jvalue.Value;
Run Code Online (Sandbox Code Playgroud)

但是没有获得名称的属性,即"ChoiceId".所以我的问题是我怎么能得到它?

use*_*116 7

因为我没有看到你的代码因此我是spitballing,也许你正在寻找JToken.ParentJProperty

// Assumes token is JToken, search for the owning JProperty
var parentProperty = token.Ancestors<JProperty>()
                          .FirstOrDefault();

// alternatively, if you know it'll be a property:
var parentProperty = ((JProperty)token.Parent);

var name = parentProperty.Name;
Run Code Online (Sandbox Code Playgroud)