【问题标题】:C# json.net: not able to deserialize [duplicate]C# json.net:无法反序列化 [重复]
【发布时间】:2023-03-24 03:15:01
【问题描述】:

这是来自 json.net 网站的示例 json

public class Account
{
    public string Email { get; set; }
    public bool Active { get; set; }
    public DateTime CreatedDate { get; set; }
    public IList<string> Roles { get; set; }
}

用法:

string json = @"{
  'Email': 'james@example.com',
  'Active': true,
  'CreatedDate': '2013-01-20T00:00:00Z',
  'Roles': [
    'User',
    'Admin'
  ]
}";

Account account = JsonConvert.DeserializeObject<Account>(json);

Console.WriteLine(account.Email);

但是当我运行它时,我得到了错误:

找不到用于 Gogch.Account 类型的构造函数。一类 应该有一个默认构造函数,一个构造函数 参数或用 JsonConstructor 属性标记的构造函数。 路径“电子邮件”,第 1 行,第 9 位。

我添加了一个空构造函数,如另一个主题中所述,但我仍然遇到同样的错误。任何帮助表示赞赏。

【问题讨论】:

  • 我添加了一个空的构造函数,正如另一个主题中所说的你能告诉我们Account的完整代码吗?
  • 您在此处提供的代码对我来说很好用。这是在 Xamarin 中给您带来问题,还是您能够在快速控制台应用程序中重现它?
  • 这是在android中吗?
  • 是的,但不适用于我的项目

标签: c# json xamarin json.net


【解决方案1】:

您上面的代码没有任何问题... 错误肯定在其他地方。 我使用 Newtonsoft.Json 运行了您的代码,它运行良好。请查看源代码的其他部分。

【讨论】:

    猜你喜欢
    • 2023-03-19
    • 2020-03-09
    • 1970-01-01
    • 2011-09-19
    • 2013-04-04
    • 2019-04-08
    • 1970-01-01
    • 2013-11-14
    • 2012-04-09
    相关资源
    最近更新 更多