无法使用 JavaScriptSerializer 反序列化

本文关键字:JavaScriptSerializer 反序列化 | 更新日期: 2023-09-27 18:33:55

我有这个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 对象。我错过了一些东西,但我不知道是什么,希望有人能帮助我。

无法使用 JavaScriptSerializer 反序列化

您的数据模型与 JSON 对象不对应,序列化程序无法正确反序列化它。请注意,在该对象中,您有对象数组,因此您需要反序列化的正确结构如下所示:

public class Token
{
    public Result[] result { get; set; }
    public Data[] data { get; set; }
}

然后你可以做:

var res = JsonConvert.DeserializeObject<Token>(file);
相关文章:
  • 没有找到相关文章