C# 将JSON数组反序列化为对象
我已经开始做这件事有一段时间了,但我似乎无法完全理解它,实际上我有一个JSON数组,我想将其解码到Notifications对象中,例外情况是: “Newtonsoft.Json.Json.JsonSerializationException”类型的未处理异常发生在Newtonsoft.Json.dll中 其他信息:无法将当前JSON数组(例如[1,2,3])反序列化为类型“WpfApplication2.Notifications”,因为该类型需要JSON对象(例如{“name”:“value”})才能正确反序列化。”C# 将JSON数组反序列化为对象,c#,json,C#,Json,我已经开始做这件事有一段时间了,但我似乎无法完全理解它,实际上我有一个JSON数组,我想将其解码到Notifications对象中,例外情况是: “Newtonsoft.Json.Json.JsonSerializationException”类型的未处理异常发生在Newtonsoft.Json.dll中 其他信息:无法将当前JSON数组(例如[1,2,3])反序列化为类型“WpfApplication2.Notifications”,因为该类型需要JSON对象(例如{“name”:“value
应将其反序列化为列表:
public IList<Notifications> Notes;
Notes = JsonConvert.DeserializeObject<IList<Notifications>>(responseString);
公共IList注释;
Notes=JsonConvert.DeserializeObject(responseString);
应该有用 您应该将其反序列化为一个列表:
public IList<Notifications> Notes;
Notes = JsonConvert.DeserializeObject<IList<Notifications>>(responseString);
公共IList注释;
Notes=JsonConvert.DeserializeObject(responseString);
应该有用 您的调用尝试反序列化单个对象。这种对象的预期Json将是一个值字典,这就是错误消息所说的 您应该尝试反序列化为IEnumerable派生集合,例如数组或列表:
Notifications[] Notes = JsonConvert.DeserializeObject<Notifications[]>(responseString);
Notifications[]Notes=JsonConvert.DeserializeObject(responseString);
或
IList Notes=JsonConvert.DeserializeObject(responseString);
您的调用尝试反序列化单个对象。这种对象的预期Json将是一个值字典,这就是错误消息所说的
您应该尝试反序列化为IEnumerable派生集合,例如数组或列表:
Notifications[] Notes = JsonConvert.DeserializeObject<Notifications[]>(responseString);
Notifications[]Notes=JsonConvert.DeserializeObject(responseString);
或
IList Notes=JsonConvert.DeserializeObject(responseString);
可能是因为您的数组未命名,即它应该类似于{“arrayname”:[{…},{…}]}
?您需要反序列化到数组或集合可能是因为您的数组未命名,即它应该类似于{“arrayname”:[{…},{…}]}
?您需要反序列化到一个数组或集合也可以是一个数组。呃,我不确定在这里选择哪一个它们都可以工作!也可能是一个数组。呃,我不确定在这里选择哪一个它们都有效!我投了更高的票,因为它也起作用,查尔斯在希望之前到了那里,虽然这看起来公平?我投了更高的票,因为它也起作用,查尔斯在希望之前到了那里,虽然这看起来公平?
IList<Notifications> Notes = JsonConvert.DeserializeObject<IList<Notifications>>(responseString);