JSON或JavaScript对象表示法仅仅是数据的格式或标准。这是一种公认的格式,用于传输诸如登录名之类的内容或需要由REST服务使用的内容。
参见此部分:http : //en.wikipedia.org/wiki/JSON
尽管JSON最初是从JavaScript脚本语言派生的,但它是一种与语言无关的数据格式,并且用于解析和生成JSON数据的代码很容易在各种编程语言中获得。
它不是任何特定编程语言的一部分,因此,如果不同的系统知道使用的是JSON,则可以轻松地传递数据。
对于REST,它只是用于Web服务的一种体系结构样式。
参见此部分:http : //en.wikipedia.org/wiki/Representational_state_transfer
考虑这一点的一种方法是,如果您想编写一个Web服务,许多不同的计算机都可以与之对话并交换信息。您可以编写Web服务以通过URL接受数据
http://www.myservice.com/specialRESTService?name=punkouter
返回的响应可能是一个JSON对象,表示已收到您的数据。
{
"name": "punkouter",
"status": "service downloaded your data",
}
我从未听说过OData,所以我用Google搜索了它:
OData基于AtomPub协议和JSON构建,其中Atom结构是包含从每个OData请求返回的数据的信封。OData请求将REST模型用于所有请求。每个REST命令都是一个POST,GET,PUT,PATCH或DELETE http请求(映射到CRUD),其中命令的详细信息位于url中。
GET:获取实体的集合(作为提要文档)或单个实体(作为输入文档)。
POST:从输入文档创建新实体。
PUT:使用输入文档更新现有实体。
补丁:使用部分录入文档更新现有实体。
删除:删除实体。
听起来好像OData是为了增强原始的REST风格体系结构而编写的。但是,看起来它可以为您提供一些新的东西,而不必用C#或使用任何语言从头开始编写东西。
如果您正在努力使用OData,那么您仍将使用JSON ..,但仍在Microsoft等人编写的OData框架/标准之内。
有人会在javascript中解析OData(sic)查询的结果吗?
是的,因为(听起来像)它使用的是JSON。使用JS是完全自然的。
也许OData更多地是为所有客户端提供通用终结点,以便从JSON不提供的查询中获取详细信息?因此,如果我是数据提供者,那么我想那是Odata的目的吗?
Odata将提供REST服务..但在普通的“通用” REST服务端点之上添加了一些附加的标准服务..客户端不在乎您是使用OData还是滚动自己的C#服务。因为响应采用的是约定的格式(例如JSON)。但是,为了您的工作,他们可能想使用OData,因为它提供了许多“开箱即用”功能。