我需要解析看起来如下的json文件:
{"20120101":{"Jeff":{"Status":"Sleepy", "Weight":212}, "Cathy":{"Status":"Angry", "Weight":172}}
{"20120102":{"Jeff":{"Status":"Alert", "Weight":207}, "Cathy":{"Status":"Sick", "Weight":168}}
我无法找到从json中提取日期(20120101和20120102)和名字(Jeff和Cathy)的方法。我的尝试如下:
private void LoadFile(string fileName)
{
var json = File.ReadAllText(fileName);
JObject days = JObject.Parse(json);
foreach (var dayAsObject in days)
{
var day = (JToken) dayAsObject;
var a = day.Root.ToString();
var t = day.ToString();
var z = day.First;
Console.WriteLine(day+t+z+a);
}
答案 0 :(得分:1)
更好的配方json看起来像
{"20120101":{ "name":"Jeff", "Status":"Sleepy", "Weight":212}, { "name":"Cathy", "Status":"Angry", "Weight":172}}
然后很容易得到一天[“名字”]。我建议修改你的json。如果你绝对不能,我认为你正在寻找的属性是PropertyName。
我倾向于使用内置的System.Web.Script.Serialization JSON库。如果你不需要做一些花哨的东西,它对动态对象类型很有效。