结合ember.js和asp.net webapi JSON格式

结合ember.js和asp.net webapi JSON格式,json,ember.js,asp.net-web-api,Json,Ember.js,Asp.net Web Api,我目前正在使用ember.js和webapi 3构建一个web应用程序。 目前我面临的问题是webapi发送一个JSON结果(一个DTO数组),ember无法理解这个结果,因为它缺少一个根元素 我在web上的解决方案方面没有取得多大进展,主要是针对VS的模板项目 有人能提供一个简单易懂的解决方案吗?我假设你说的是余烬数据 web api以对象的任何格式发回json,因此如果发回列表/数组,它将返回一个对象数组。如果您可以控制控制器,那么只需修改它返回的内容即可 return new { foos

我目前正在使用ember.js和webapi 3构建一个web应用程序。 目前我面临的问题是webapi发送一个JSON结果(一个DTO数组),ember无法理解这个结果,因为它缺少一个根元素

我在web上的解决方案方面没有取得多大进展,主要是针对VS的模板项目


有人能提供一个简单易懂的解决方案吗?

我假设你说的是余烬数据

web api以对象的任何格式发回json,因此如果发回列表/数组,它将返回一个对象数组。如果您可以控制控制器,那么只需修改它返回的内容即可

return new { foos = new List<string>() };
返回新的{foos=newlist()};

是的,但我不想更改我的REST API。如果这是最好的解决方案。WebAPI序列化程序中是否有一个钩子,我可以在其中为所有操作执行该操作?如果您不想更改api,那么最好的解决方案是创建客户端序列化程序。查看此文档,它讨论了每个模型的序列化程序如果我想向所有集合webapi返回添加根节点,是否有一个可以挂接该逻辑的公共位置?
当负载的顶级组织方式与Ember Data预期的不同时,使用extractSingle和extractArray
extractSingle
extractArray
之间的最大区别是一个期望一个单一的模型,比如
foo:{}
,而另一个期望
foos:[{},{},…]
我明白了,所以这是余烬数据的两个“入口”…看起来可以理解。