使用Newtonsoft.Json用C#反序列化Json字符串
我读过一些文章,但没有解决我的问题,反序列化时JSON字符串有问题,这里是字符串使用Newtonsoft.Json用C#反序列化Json字符串,c#,json,C#,Json,我读过一些文章,但没有解决我的问题,反序列化时JSON字符串有问题,这里是字符串 {"table":"sy_version","effected":2,"data":[{"mod_id":"CS","sub_mod":"sbm_sl.exe","version":"2015.11.07.1","upload_date ":"2015-11-10 11:34:13"},{"mod_id":"FA","sub_mod":"sbm_fa.exe","version":"2015.11.09","upl
{"table":"sy_version","effected":2,"data":[{"mod_id":"CS","sub_mod":"sbm_sl.exe","version":"2015.11.07.1","upload_date ":"2015-11-10 11:34:13"},{"mod_id":"FA","sub_mod":"sbm_fa.exe","version":"2015.11.09","upload_date ":"2015-11-10 11:34:13"}]}
这是我的课
public class Datum
{
public string mod_id { get; set; }
public string sub_mod { get; set; }
public string version { get; set; }
public DateTime upload_date { get; set; }
}
public class sy_periode
{
public string table { get; set; }
public int effected { get; set; }
public IList<Datum> datas { get; set; }
}
public static void test(string str) {
// dynamic sy_periode = JsonConvert.DeserializeObject(str);
var sy_periode = JsonConvert.DeserializeObject<sy_periode>(str);
foreach (var data in sy_periode.datas)
{
Console.WriteLine(data.sub_mod);
}
}
它不应该是
datas
,它应该与JSON对象同名:data
以下是正确的类结构:
public class Datum
{
public string mod_id { get; set; }
public string sub_mod { get; set; }
public string version { get; set; }
public DateTime upload_date { get; set; }
}
public class sy_periode
{
public string table { get; set; }
public int effected { get; set; }
public IList<Datum> data { get; set; }
}
我不太确定它是否能工作,但我看不出它不能工作的原因。使用IDEs内置调试器;这比使用StackOverflow作为调试器要快得多。即使快速浏览代码也会发现输入错误:)是的,谢谢你的帮助。
public class Datum
{
public string mod_id { get; set; }
public string sub_mod { get; set; }
public string version { get; set; }
public DateTime upload_date { get; set; }
}
public class sy_periode
{
public string table { get; set; }
public int effected { get; set; }
public IList<Datum> data { get; set; }
}
[JsonProperty(PropertyName = "upload_date ")]
public DateTime upload_date { get; set; }