使用WCF Data Services Toolkit或其他方式来支持$format
param,例如JSONPSupportInspectorAttribute
我得到的一些json回复对我来说有些奇怪。
为什么我的json看起来像:
{
"d" : {
"results": [
{
"__metadata": {
来自OData.org $format的json如下:
{
"d" : [
{
"__metadata": {
为什么我的额外“结果”子部分?
我的数据服务直接构建在我的实体框架模型上。我是否必须使用特定的上下文模板才能消失?
答案 0 :(得分:2)
这是版本控制。在V2中,我们添加了服务器驱动的分页和内联计数功能,这些功能需要在Feed上存储其他元数据。但由于V1中的feed只是一个JSON数组,因此无法放置这样的元数据。
因此在V2中,响应中的所有提要都包含在“结果”包装中。这就是feed是一个JSON对象,它有一个名为“results”的属性,它有一个数组。 Feed对象上可能还有其他属性(下一个链接,计数......)。
有效负载的版本控制基于该有效负载中任何功能所需的最低版本。因此,如果您的服务使用的是需要高于V1的版本的有效负载,则整个有效负载将使用更高版本编写。
你甚至可以在odata.org服务上看到这一点 - 试试这个: http://services.odata.org/OData/OData.svc/Products $ inlinecount =所有页&安培; $格式= JSON
响应将为V2并将使用结果包装器。