我很难理解Siesta如何找出资源的孩子。例如,我有以下事件资源:
planner-view
遗憾的是,例如调用“/ events / 1”不会返回id = 2的事件。有没有办法告诉Siesta哪个事件的id = 2?
答案 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)