【发布时间】:2018-04-26 22:54:01
【问题描述】:
我用 JObject.Parse(json) 解析了一个 Json 字符串,我正在尝试遍历属性。我发现访问 json 类型的唯一方法是通过它的父节点,如下所示:
string json = @"{
CPU: 'Intel',
Drives: [ 'DVD read/writer', '500 gigabyte hard drive'
]
}";
JObject o = JObject.Parse(json);
foreach (var p in o.Properties())
{
Console.WriteLine("name:" + p.Name + ", value: " + p.Value);
Console.WriteLine("o[p.Name].Type: " + o[p.Name].Type); // correctly returns js type
Console.WriteLine("p.Type: " + p.Type); // returns Property for every item
Console.WriteLine("p.GetType(): " + p.GetType()); // returns Newtonsoft.Json.Linq.JProperty for every item
Console.WriteLine();
}
我想一定有某种方法可以从属性中获取 json 类型。 (现场小提琴here)
【问题讨论】:
-
你试过
p.Value.Type吗? -
您说得对,请发表您的评论作为答案,以便我接受