我正在从网络服务器下载JSON,并希望将其转换为List。 我正在使用Newtonsoft JsonConverter。 这个JSON是一组radom聊天消息。
JSON:
{
"messages":[
{
"_id":4,
"_content":"ff",
"_userName":"UAQ0FTQP5",
"_timeStamp":"2018-06-04T11:46:00.000Z",
"_processed":1
},
{
"_id":5,
"_content":"Stop it mom",
"_userName":"UAQ0FTQP5",
"_timeStamp":"2018-06-04T11:47:22.000Z",
"_processed":1
},
{
"_id":6,
"_content":"General Kenobi",
"_userName":"UB0QGN3EG",
"_timeStamp":"2018-06-04T11:49:45.000Z",
"_processed":1
},
{
"_id":7,
"_content":"Hello General Kenobi",
"_userName":"UB0QGN3EG",
"_timeStamp":"2018-06-04T11:49:57.000Z",
"_processed":1
},
{
"_id":8,
"_content":"Hello there",
"_userName":"UB15RMYDB",
"_timeStamp":"2018-06-04T11:49:59.000Z",
"_processed":1
}
]
}
我的班级:
public class Message
{
[JsonProperty("_id")]
public int ID {get; set;}
[JsonProperty("_content")]
public string Content { get; set; }
[JsonProperty("_userName")]
public string UserName { get; set; }
[JsonProperty("_timeStamp")]
public DateTime TimeStamp { get; set; }
[JsonProperty("_processed")]
public int Processed { get; set; }
}
这是我尝试反序列化它: (变量JSON是一个保存上面JSON的字符串)
List<Message> messages = JsonConvert.DeserializeObject<List<Message>>(JSON);
当我尝试这个时,我收到了这个错误:
无法将当前JSON对象(例如{&#34; name&#34;:&#34; value&#34;})反序列化为类型System.Collections.Generic.List`1 [mom.client .Logik.Message]&#39;因为该类型需要JSON数组(例如[1,2,3])才能正确反序列化。 要修复此错误,请将JSON更改为JSON数组(例如[1,2,3])或更改反序列化类型,使其成为普通的.NET类型(例如,不是像整数这样的基本类型,而不是类似的集合类型可以从JSON对象反序列化的数组或List。 JsonObjectAttribute也可以添加到类型中以强制它从JSON对象反序列化。 路径&#39;消息&#39;,第1行,第12位。
有没有人可以告诉我我被困的地方? 任何答案都将不胜感激。
亲切的问候。