0

在我的应用程序中,我想将我的模型转换为 json,然后将此 json 发送到 server.for 适配器,我使用LSA

例如,我有这样的模型:

App.AxisModel = DS.Model.extend({
 uniqueName: DS.attr('string'),
 name: DS.attr('string'),
 hierarchyUniqueName: DS.attr('string'),
 type: DS.attr('string'), //row,column,filter
 isMeasure: DS.attr('boolean'),
 isActive: DS.attr('boolean'), //is added to one of type 
 orderId: DS.attr('number'),
 isAll:DS.attr('boolean'),
 sort:DS.attr('string'),
});

还有一个 json 示例:

{
"OlapApp.AxisModel": {
    "records": {
        "htlbv": {
            "id": "htlbv",
            "uniqueName": "[Customers].[(All)]",
            "name": "(All)",
            "hierarchyUniqueName": "[Customers]",
            "type": "column",
            "isMeasure": false,
            "isActive": true,
            "orderId": 0,
            "isAll": true,
            "sort": "none"
        },
        "t58i9": {
            "id": "t58i9",
            "uniqueName": "[Sellers].[(All)]",
            "name": "(All)",
            "hierarchyUniqueName": "[Sellers]",
            "type": "row",
            "isMeasure": false,
            "isActive": true,
            "orderId": 0,
            "isAll": true,
            "sort": "none"
        },
        "2t9lc": {
            "id": "2t9lc",
            "uniqueName": "[Cube1].[Cube1-1]",
            "name": "Cube1-1",
            "hierarchyUniqueName": "[Database].[Cube1]",
            "type": "filter",
            "isMeasure": true,
            "isActive": true,
            "orderId": 0,
            "isAll": false,
            "sort": "none"
         }
      }
 }
}
4

1 回答 1

1

我看到两个选项

  1. 如果您想与服务器通信,您可以考虑使用 RESTAdapter 而不是 LocalStorage 。它非常灵活,您可以覆盖特定于模型的序列化程序(例如 App.Model 将由 App.ModelSerializer 序列化)或覆盖一些默认值。

  2. 如果您有 REST+LocalStorage 的混合体,并且想要手动同步更改,则可以使用 JSON.parse 和 JSON.stringify 对其进行格式化,并使用 jQuery 与服务器通信并在本地同步更改。您可以查看以下答案,了解如何为 create 执行此操作的示例。

于 2013-10-29T03:03:14.383 回答