下面是我的简单 User
POCO 类:
/// <summary>
/// The User class represents a Coderwall User.
/// </summary>
public class User
{
/// <summary>
/// A User's username. eg: "sergiotapia, mrkibbles, matumbo"
/// </summary>
public string Username { get; set; }
/// <summary>
/// A User's name. eg: "Sergio Tapia, John Cosack, Lucy McMillan"
/// </summary>
public string Name { get; set; }
/// <summary>
/// A User's location. eh: "Bolivia, USA, France, Italy"
/// </summary>
public string Location { get; set; }
public int Endorsements { get; set; } //Todo.
public string Team { get; set; } //Todo.
/// <summary>
/// A collection of the User's linked accounts.
/// </summary>
public List<Account> Accounts { get; set; }
/// <summary>
/// A collection of the User's awarded badges.
/// </summary>
public List<Badge> Badges { get; set; }
}
我用来将 JSON 响应反序列化为 User
对象(实际的 JSON 来电)的方法是:
private User LoadUserFromJson(string response)
{
var outObject = JsonConvert.DeserializeObject<User>(response);
return outObject;
}
这引发了一个例外:
无法反序列化当前 JSON 对象(例如{“ name”: “ value”}) 打字 ‘ System. Collections. Generic. List‘1[ CoderwallDotNet. Api. Models.Account ] 因为该类型需要一个 JSON 数组(例如[1,2,3])来反序列化 正确。
要修复此错误,可以将 JSON 更改为 JSON 数组 (例如[1,2,3])或更改反序列化类型,使其成为正常的 NET 类型(例如,不是类似于整数的基元类型,也不是集合) 类似于数组或列表) ,可以从 JSON 反序列化 也可以将 JsonObjectAttribute 添加到类型中以强制它 从 JSON 对象反序列化, 位置129。
我以前从来没有使用过这个 SerializeObject 方法,所以现在有点困在这里了。
我已经确保 POCO 类中的属性名称与 JSON 响应中的名称相同。
我可以尝试将 JSON 反序列化到这个 POCO 类中吗?