[英]Get the name of a JObject in Json.Net
我有一个等于的JObject
:
"Info":
{
"View":"A",
"Product":"B",
"Offer":"Offer1",
"Demo":"body {background-color:red;} #box {border:dotted 50px red;}",
"Log":false
}
如何返回对象的名称“Info”?
我目前正在使用Path
属性,如下所示:
jObject.Name = jObject.Path.Substring(jObject.Path.jObject('.') + 1);
有一个更好的方法吗?
在JSON中,对象本身没有名称。 对象只是一个名称 - 值对集合的容器,以花括号开头和结尾。 所以你上面所拥有的是一个更大的JSON体系的片段。 必须有一个外部对象来包含它。 这种外部对象有一个名称的属性 Info
,而属性的值就是你所指的对象。
{
"Info":
{
"View":"A",
"Product":"B",
"Offer":"Offer1",
"Demo":"body {background-color:red;} #box {border:dotted 50px red;}",
"Log":false
}
}
在Json.Net,一个JObject
模型JSON对象,和一个JProperty
机型名称-值对含有内JObject
。 每个JObject
具有集合JProperties
这是它的孩子,而每个JProperty
有一个Name
和一个孩子,它的Value
。
因此,假设您有对最内层JObject
(包含View
, Product
和Offer
属性)的引用,您可以像这样获取其包含JProperty
的名称:
JProperty parentProp = (JProperty)jObject.Parent;
string name = parentProp.Name; // "Info"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.