我有这个json文件
{
"result":
[
{
"desc" : "Ok",
"cod" : "1"
}
],
"data":
[
{
"cod" : "95B86DF6AE282E67B6B7437D09570847"
}
]
}
一种反序列化的方法
protected void Deserialize()
{
string path = AppDomain.CurrentDomain.BaseDirectory + @"\token.json";
string file = System.IO.File.ReadAllText(path);
var deserializer = new JavaScriptSerializer();
var results = deserializer.Deserialize<data>(file);
}
public class result
{
public int cod { get; set; }
public string desc{ get; set; }
}
public class data
{
public string cod{ get; set; }
}
问题是它没有反序列化它,并创建空的Data对象。 我错过了什么,但我不知道是什么,希望有人能帮助我。
答案 0 :(得分:1)
您的数据模型与JSON对象不对应,并且序列化程序无法正确反序列化它。请注意,在该对象内部有对象数组,因此需要反序列化的正确结构如下:
public class Token
{
public Result[] result { get; set; }
public Data[] data { get; set; }
}
然后你可以这样做:
var res = JsonConvert.DeserializeObject<Token>(file);