我正在使用Newtonsoft.Json来解析Json文本。出于某种原因,我需要JToken或Jvalue对象的名称。例如,如果"ChoiceId":865是JValue,那么我需要获取"ChoiceId"。但是我现在正在尝试几个小时,但不知道如何。我怎样才能得到这个名字?
谢谢
例:如果这是 JSON 文件内容:
{"ChoiceId":868,"Choice":"Post","Url":"/pst/goods"}
然后我可以使用
JObject json = JObject.Parse(hole);
JValue jvalue = (Jvalue)json["ChoiceId"];
string value = jvalue.Value;
但是没有获得名称的属性,即。选择ID" .所以我的问题是我怎样才能得到它?
由于我没有看到您的任何代码,因此我在吐槽,也许您正在寻找JToken.Parent
和JProperty
?
// 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;