2014-05-12 170 views
0

我提出以下JSON客戶端:如何將json轉換爲extjs模型?

{ 
    "employees": [ 
     { 
      "firstName": "John", 
      "lastName": "Doe", 
      "computers": [ 
       { 
        "name": "comp1" 
       }, 
       { 
        "name": "comp2" 
       } 
      ] 
     }, 
     { 
      "firstName": "Anna", 
      "lastName": "Smith", 
      "computers": [ 
       { 
        "name": "comp1" 
       }, 
       { 
        "name": "comp2" 
       } 
      ] 
     }, 
     { 
      "firstName": "Peter", 
      "lastName": "Jones", 
      "computers": [ 
       { 
        "name": "comp1" 
       }, 
       { 
        "name": "comp2" 
       } 
      ] 
     } 
    ] 
} 

而且我想它粘成這種模式:

Ext.define('Employees',{ 
    extend: 'Ext.data.Model', 
    hasMany: [{ 
    model: 'Computers', 
    name: 'computers', 
    }], 
    fields: [{name: 'firstname'}, {name: 'lastname'}] 
}); 

Ext.define('Computers'{ 
    extend: 'Ext.data.Model', 
    belongsTo: 'Employees', 
    fields: [{name: 'name'}] 
}); 

我怎麼能轉換成JSON我的員工ExtJS的模式?

+0

將商店,代理和閱讀器分配給您的模型。設置商店自動載入配置。或者store.load()方法都可以工作。 –

回答

1

你應該定義一個數據存儲這樣的:

Ext.create('Ext.data.Store', { 
    model: 'Employees', 
    storeId: 'myDataStore', 
    proxy: { 
      type: 'ajax', 
      url : 'path/to/your/json/file/Employees.json', 
      reader:{ 
       type:'json', 
       root: 'employees' 
      } 
     } 
}); 

和地方加載它。