获取 JObject 的名称 Json.Net
本文关键字:Json Net JObject 获取 | 更新日期: 2023-09-27 18:06:31
我的JObject
等于:
"Info":
{
"View":"A",
"Product":"B",
"Offer":"Offer1",
"Demo":"body {background-color:red;} #box {border:dotted 50px red;}",
"Log":false
}
如何返回对象的名称"信息"?
我目前正在使用 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"