【发布时间】:2017-05-26 01:49:27
【问题描述】:
我想知道为什么我在使用这些语句时会收到此错误:
string result = await client.GetStringAsync(RestUrl);
return JsonConvert.DeserializeObject<IEnumerable<Book>>(result);
无法将当前 JSON 对象(例如 {"name":"value"})反序列化为类型“System.Collections.Generic.List`1[BookClient.Data.Book]”,因为该类型需要 JSON 数组(例如[1,2,3]) 正确反序列化。 要修复此错误,请将 JSON 更改为 JSON 数组(例如 [1,2,3])或更改反序列化类型,使其成为普通的 .NET 类型(例如,不是像整数这样的原始类型,而不是像可以从 JSON 对象反序列化的数组或列表。 JsonObjectAttribute 也可以添加到类型中以强制它从 JSON 对象反序列化
这是结果字符串文件:
"{\"TOTAL\":177,\"PRODUCTS\":[{\"CODE\":\"T55-2A\",\"PRICE\":59.9500,\"NAME\":\"Arrive In Style\"},{\"CODE\":\"F1-231\",\"PRICE\":49.9500}]}"
谢谢
【问题讨论】:
-
向我们展示Book类的结构
-
请在
Book上显示您的公共set属性。 -
您的 Book 类是什么样的?
标签: c# json deserialization