首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JSON oData.metadata

JSON oData.metadata
EN

Stack Overflow用户
提问于 2014-03-31 22:31:01
回答 2查看 1.4K关注 0票数 0

我对使用Microsoft从服务器返回oData有疑问。无法弄清楚。

Query1:

代码语言:javascript
运行
复制
http://localhost:63717/odata/City(1)

Fiddler返回下面的原始数据。一切都在自己的括号里。

代码语言:javascript
运行
复制
{
  "odata.metadata":"http://localhost:63717/odata/$metadata#City/@Element","CityID":1,"CityName":"Minnetonka","CityAddr1":null,"CityAddr2":null,"CityCity":null,"CityState":null,"CityZip":null,"CityPhone":null,"CityFAX":null,"CityExtent":"-93.53,44.88,-93.39,44.93","CityHeaderImage":null
}

Query2:

代码语言:javascript
运行
复制
http://localhost:63717/odata/City?$filter=CityName eq 'Minnetonka'

Fiddler返回下面的原始数据。数据包含在两组括号内的数据中。

代码语言:javascript
运行
复制
{
  "odata.metadata":"http://localhost:63717/odata/$metadata#City","value":[
    {
      "CityID":1,"CityName":"Minnetonka","CityAddr1":null,"CityAddr2":null,"CityCity":null,"CityState":null,"CityZip":null,"CityPhone":null,"CityFAX":null,"CityExtent":"-93.53,44.88,-93.39,44.93","CityHeaderImage":null
    }
  ]
}

要在$filters请求中格式化返回到oData的JSON,我需要做什么?odata.metadata在Query2要杀了我。请解释我做错了什么。

EN

回答 2

Stack Overflow用户

发布于 2014-03-31 22:38:56

您没有做错什么,这两种格式实际上代表了两种不同的结果形式。

当您指定实体的键时,第一项是请求单个项。

在第二步中,您可能需要一个实体列表。在此响应中,Odata.Metadata是单独的,否则将对返回的每一项重复,在内容长度方面将是浪费。

票数 0
EN

Stack Overflow用户

发布于 2014-03-31 22:45:12

因为你对实体的寻址方式。

使用//localhost:63717/odata/City(1)您正在寻址一个实体(“/key/key”)。您将始终返回一个城市(如果一个存在)。它不需要返回一个数组,因为它不会返回一个以上的数组。

使用//localhost:63717/odata/City,您正在寻址一个实体集合("/entityset")。可以返回0到n个城市实体,因此需要一个集合。

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

https://stackoverflow.com/questions/22773473

复制
相关文章

相似问题

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