C#JsonConvert-如何解析不规则的键/值JSON?
我试图从包含以下信息的文件中获取json和JsonConvert:C#JsonConvert-如何解析不规则的键/值JSON?,c#,jsonconvert,C#,Jsonconvert,我试图从包含以下信息的文件中获取json和JsonConvert: { "Programacion": { "F201604260700": { "Comercial": "COM63039" }, "F201604260805": { "Comercial": "COM63039" }, "F201604260944": { "Comercial": "COM63039" }, "F201604261113": { "Comercial": "COM630
{
"Programacion": {
"F201604260700": { "Comercial": "COM63039" },
"F201604260805": { "Comercial": "COM63039" },
"F201604260944": { "Comercial": "COM63039" },
"F201604261113": { "Comercial": "COM63039" }
}
}
为了能够存储json,我创建了一个名为Tandas的类,因为每个“编程”都有一个不同的键(“F201604260700”、“F201604260805”),我还没有创建一个适合我的数据数组
public class Tandas
{
// Not work
//public IEnumerable<IDictionary<string, string>> Programacion { get; set; }
// Not work
public List<KeyValuePair<string, KeyValuePair<string, string>>> Programacion { get; set; }
}
公共类Tandas
{
//不行
//公共IEnumerable程序{get;set;}
//不行
公共列表程序{get;set;}
}
我对C#中的修复和对象知之甚少,我能给出什么解决方案
// Error
this.tandas = JsonConvert.DeserializeObject<Tandas>(json_tandas_string);
//错误
this.tandas=JsonConvert.DeserializeObject(json\u tandas\u字符串);
JsonConvert可以将JSON对象反序列化到字典
,其中T
是值的类型
在本例中,值也是JSON对象,带有字符串值,因此本例中的T
将是Dictionary
全班:
public class Tandas
{
public Dictionary<string, Dictionary<string, string>> Programacion { get; set; }
}
公共类Tandas
{
公共字典程序{get;set;}
}
现在,您已经澄清了内部对象包含常规键,因此可以为此定义一个类:
public class InnerThing
{
public string Comercial { get; set; }
}
public class Tandas
{
public Dictionary<string, InnerThing> Programacion { get; set; }
}
公共类内部事物
{
公共字符串{get;set;}
}
公共级坦达斯
{
公共字典程序{get;set;}
}
部分中的键也是不规则的吗?部分中的键也是不规则的吗?或者它们有特定的格式吗?可能是重复的。Hello JLRisge,{“Commercial”:“}是一个规则的键不应该是数组吗?太棒了!它可以工作,结果可以用foreach迭代,非常感谢!