0
我正在编写一个移动客户端,它使用来自第三方服务器(我无法控制的)的JSON数据。问题是,当我做以下网址挖掘到JSON对象的REST URL
curl http://server.com/zm/api/events.json
它返回的结构,像这样的事件的大名单的获取:
"events": [
{
"Event": {
"Id": "280",
"MonitorId": "1",
"Name": "Familyroom-280",
"Cause": "Motion",
"StartTime": "2015-04-12 06:54:43",
"EndTime": "2015-04-12 06:55:27",
"Width": "1280",
"Height": "960",
"Length": "44.24",
"Frames": "74",
"AlarmFrames": "23",
"TotScore": "973",
"AvgScore": "42",
"MaxScore": "279",
"Archived": "0",
"Videoed": "0",
"Uploaded": "0",
"Emailed": "0",
"Messaged": "0",
"Executed": "0",
"Notes": "Motion: mudroom door, study door"
}
}, //and many more such "Event" events inside the array
我是新来的JSON,但是当我读了,其规范说服务器必须提供一种机制来提取任何子对象。因此,举例来说,我要建立一个网址,以仅获取其中有1
一个MonitorId我已经试过
curl http://server.com/zm/api/events/Event/MonitorId/1.json
curl http://server.com/zm/api/Event/MonitorId/1.json
curl http://server.com/zm/api/events.json?MonitorId="1"
curl http://server.com/zm/api/events.json?Event.MonitorId="1"
但我似乎无法得到它的权利的事件。有人可以建议什么是我需要构造的URL只返回MonitorId =“1”的元素?
谢谢!
你从哪里读到服务器必须提供一种机制来提取任何子对象? – mason
每个网站都有自己的API。你必须阅读'server.com'中的文档,以便知道什么是正确的URL。 – nZeus
哎呀。对不起 - 我正在阅读http://jsonapi.org/format/,并且我误读了“服务器必须支持为每个提供的URL提取资源数据”,因为“服务器必须支持为每个提供的对象提取资源数据” Shucks。我认为这就像xpath,我可以钻到我想要的任何级别。服务器使用CakePHP实现它的api – user1361529