Ember - 如何在模型中表示这个json

时间:2014-09-15 11:19:06

标签: json ember.js ember-data

我是一个余烬新手..并且已经给出了一个说明服务器将向我发送以下json的规范:

{
   "classname": "class1",
   "studentSummary": [
       {
           "firstName": "test",
           "lastName": "test",
           "score": "45",
       },
       ...
   ]
}

我一直试图找出如何将其表示为模型并创建夹具数据以便与之合作...

我理解如何创建一个具有多个记录的模型都是相同的....

var students =  DS.Model.extend({

    firstName: DS.attr('string'),
    lastName: DS.attr('string'),
    score: DS.attr('number')

});

这对应于这样的一群学生,对吧?:

{
  [
     {
           "firstName": "test",
           "lastName": "test",
           "score": "45",
       },
       ...
   ]
}

还是会吗? 我很疯狂但不知道我是不是应该看一下“嵌入”这个问题。或者' hasMany'或者是什么.... 我认为hasMany在没有身份的情况下无法工作......

所以,任何正确方向的推动都会受到赞赏......

由于 维达

1 个答案:

答案 0 :(得分:2)

您正在寻找的是嵌入式记录(或者他们被称为)。您的数据没有唯一标识符,它只属于它的父记录,因此将数据移动到自己的模型将是过度的。嵌入式记录是Ember-Data社区中的一个痛苦主题,但有解决方案。 Here是官方的EmbeddedRecordsMixin,here是一个使其更易于使用的项目。这些都应该帮助你。

如果您遇到问题,可能需要考虑为数据编写自定义Transform。它更低级,但它让你更容易理解(我认为)。