0

我使用的数据看起来很像 Instagram 的User Model Response。它们不是位于根级别的属性,而是位于“数据”对象中的一层。更复杂的是,还有深度嵌入的对象。

编辑

我正在编辑数据以更好地代表我正在使用的实际模型。

{
    {
    "meta": {
        "code": 200
    },
    "pagination": {
        "next_url": "..."
        "next_max_id": "..."
    },
    "data": {
        "name": "I'm Making Coffee",
        "film_id": "...",
        "duration": 55,
        "picture": "https://directr.blob.core.windows.net/prints/nb8yr_print_H360.jpg",
        "print": {
            "print_id": "...",
            "url": "...",
            "formats": [
                "mp4",
                "ogg",
                "jpg"
            ],
            "sizes": [
                {
                    "width": 960,
                    "height": 540
                },
                {
                    "width": 640,
                    "height": 360
                },
                {
                    "width": 320,
                    "height": 180
                }
            ]
        },
        "comments": {
            "count": 0,
            "data": []
        },
        "hearts": {
            "count": 2,
            "data": [
                {
                    "user_id": "55555",
                    "alias": "jonah"
                },
                {
                    "user_id": "66666",
                    "alias": "eli"
                }
            ]
        },
        "directrs": {
            "count": 1,
            "data": [
                {
                    "user_id": "55555",
                    "name": "jonah",
                    "picture": "/api/picture.jpg"
                }
            ]
        },
    }
}

这种电影模式非常深入人心。数据的根在数据之下一层。

分页对于传递给不同的控件以及我根本不需要或想要建模的 http 状态响应很有用。看起来我还需要将“评论”、“心”,当然还有“打印”到他们自己的模型中,并创建关系来绑定它们。

我已经尝试查看源代码,但我无法弄清楚我需要在流程中的哪个位置将这个 JSON 剪切成我需要的格式......我是否可以指向对象的正确“根”以 Ember 方式,或者如果我可以在处理 JSON 之前破解它。

Ember 将这一切化为乌有的使命是一个绝妙的目标。我希望我能了解源代码... :) 感谢您的帮助。

4

1 回答 1

0

查看https://github.com/xqiu/MVCSPAWithEmberjs/tree/master/MvcSPAWithEmberjs/Scripts/app中的 webapi_adapter.js 和 webapi_serializer.js 文件,我为 Visual Studio 2012 更新的 ember.js SPA 模板创建了它们2 MVC4 SPA 模板。

我必须更改根节点并进行其他妥协以使 WebAPI 返回的 JSON 与 ember-data 兼容。

于 2013-06-18T17:14:15.933 回答