我正在使用Newtonsoft.Json来解析Json文本。由于一个原因,我需要JToken或Jvalue对象的名称。按照示例,如果“ChoiceId”:865 是JValue,那么我需要获取“ChoiceId” 。但是我现在尝试了几个小时,但不知道怎么做。我怎么能得到这个名字?

谢谢

例子:
如果这是json文件的内容:

{"ChoiceId":868,"Choice":"Post","Url":"/pst/goods"}

然后我可以通过使用获得ChoiceId值
JObject json = JObject.Parse(hole);
JValue jvalue = (Jvalue)json["ChoiceId"];
string value = jvalue.Value;

但是,没有用于获取名称即“.ChoiceId”的属性。所以我的问题是我怎么能得到它?

最佳答案

如我所见,您的代码都没有,因此我很讨厌,也许您正在寻找 JToken.Parent and 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;

关于c# - 如何获取JValue对象的名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13887366/

10-13 06:16