0

Siesta がリソースの子をどのように判断するのか理解できません。たとえば、次のイベント リソースがあります。

「/events」によって返される JSON

{
    "success": 1,
    "events": [
        {
            "id": 1,
            "type": "meeting", 
            "eventDate": "2015-08-20", 
            "notes": "fadsfasfa", 
            "title": null
        },{
            "id": 2, 
            "type": "game", 
            "eventDate": "2015-08-31", 
            "notes": "fdsafdf", 
            "title": null
        }
    ]
}

悲しいことに、たとえば "/events/1" を呼び出しても、id=2 のイベントは返されません。id=2 を持つイベントを Siesta に伝える方法はありますか?

4

1 に答える 1

0

次のものがあるとします。

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

次に、次のよう/eventsにリソースからリソースに移動できます。/events/2

let event = events.child("2")

これにより、 を要求した場合と同じオブジェクトが得られますmyService.resource("/events/2")

JSON からそれを抽出するに2は、通常の Swift JSON 解析手法を使用します。(Siesta は、一度解析された JSON に特別な検査や解釈を適用しません。) JSON トラバーサルをより簡単にするために、SwiftyJSON ライブラリを使用することをお勧めします。たとえば、次のようにしてこれらのイベント ID を抽出し、子リソースを取得できます。

let allEventResources =
    JSON(events.jsonDict)["events"]
        .arrayValue
        .flatMap { $0["id"].string }
        .map(event.child)
于 2015-10-16T14:24:41.173 に答える