午睡:儿童资源

时间:2015-10-16 12:29:17

标签: json rest swift2 siesta-swift

我很难理解Siesta如何找出资源的孩子。例如,我有以下事件资源:

“/ events”

返回的JSON
planner-view

遗憾的是,例如调用“/ events / 1”不会返回id = 2的事件。有没有办法告诉Siesta哪个事件的id = 2?

1 个答案:

答案 0 :(得分:0)

假设你有:

let events = myService.resource("/events")

然后,您可以从/events资源导航到/events/2资源,如下所示:

let event = events.child("2")

这将为您提供与您要求myService.resource("/events/2")相同的对象。

要从JSON中提取2,请使用常规的Swift JSON解析技术。 (一旦解析,Siesta不会对JSON应用任何特殊检查或解释。)我建议使用SwiftyJSON库来更轻松地进行JSON遍历。例如,它允许您执行类似这样的操作来提取这些事件ID并获取子资源:

let allEventResources =
    JSON(events.jsonDict)["events"]
        .arrayValue
        .flatMap { $0["id"].string }
        .map(event.child)