首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JsonConvert.DeserializeObject<IEnumerable<Book>>

JsonConvert.DeserializeObject<IEnumerable<Book>>
EN

Stack Overflow用户
提问于 2017-05-26 01:49:27
回答 3查看 7K关注 0票数 1

当我使用以下语句时,我想知道为什么会出现这个错误:

代码语言:javascript
运行
复制
string result = await client.GetStringAsync(RestUrl);

return JsonConvert.DeserializeObject<IEnumerable<Book>>(result);

无法将当前JSON对象(例如,{“名称”:“值”})反序列化为'System.Collections.Generic.List`1BookClient.Data.Book‘类型,因为该类型需要一个JSON数组(例如,1,2,3)才能正确反序列化。要修复此错误,要么将JSON更改为JSON数组(例如,1,2,3),要么更改反序列化类型,使之成为可以从JSON对象反序列化的普通.NET类型(例如,不像整数这样的原始类型,而不是数组或列表之类的集合类型)。还可以将JsonObjectAttribute添加到类型中,以强制它从JSON对象反序列化

这是结果字符串文件:

代码语言:javascript
运行
复制
"{\"TOTAL\":177,\"PRODUCTS\":[{\"CODE\":\"T55-2A\",\"PRICE\":59.9500,\"NAME\":\"Arrive In Style\"},{\"CODE\":\"F1-231\",\"PRICE\":49.9500}]}"

谢谢

EN

Stack Overflow用户

发布于 2017-05-26 02:00:16

您的结果似乎是一个对象,而不是数组。因此,您需要创建一个类来存储反序列化结果,其中包含属性总计(int)和产品(数组)。然后可以通过products属性访问数组。

票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44192365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档