0

我无法弄清楚如何从我们的后端服务器解析一些 json 数据。首先,这是它返回的数据:

{
  "newsitem": {
    "id": "1",
    "title": "Some title",
    "images": [
        "IMG_0147.JPG",
        "desert1.jpg"
    ],
    "videos": [
        "AEOpX8tmiUI",
        "kxopViU98Xo"
    ]
  }
}

我试图在我的模型中解析这个:

App.Newsitem = DS.Model.extend({
    title: DS.attr('string'),

    images: DS.attr('array'),
    videos: DS.attr('array')
});

但这给了我一个不支持“数组”的错误。我应该如何解析这些数据,我应该如何通过把手模板打印出 DOMimages和 DOM 中的值?videos我正在寻找最佳实践答案。

4

1 回答 1

1

很多功劳归功于nerdyworm频道#emberjs的答案:您必须为您的新数据类型创建自己的序列化/反序列化方法,如下所示:

DS.JSONTransforms.array = {
  serialize: function(jsonData) {
    return Ember.typeOf(jsonData) == 'array' ? jsonData : [];
  },
  deserialize: function(externalData) {
    return Ember.typeOf(externalData) == 'array' ? externalData : [];
  }
}

然后在您的车把模板中,您可以执行以下操作:

<script type="text/x-handlebars" data-template-name="newsitem">
    <div class="detail">
        {{#each image in images}}
            {{image}}<br/>
        {{/each}}
    </div>
</script>
于 2013-02-18T10:56:58.850 回答