2012-03-24 44 views
0

我有这样的json数据绑定JSON数据到店ubsing ExtJS的

{"GetStudentDetails": 
    {"TotalCount":5, 
    "RootResults":[ 
    {"city":"West Chester","country":"USA","state":"PA ","student_id":100}, 
    {"city":"Philly","country":"USA","state":"PA","student_id":101}, 
    {"city":"Buffalo","country":"USA","state":"NY","student_id":102}, 
    {"city":"Naigra City","country":"USA","state":"NY","student_id":103}, 
    {"city":"West Chester","country":"USA","state":"PA","student_id":104}] 
    } 
} 

如何获取数据到店吗? 我正在尝试使用这样的模型。

Ext.define('User', { 
       extend: 'Ext.data.Model', 
       fields: [ 
        { type: 'string', name: 'TotalCount' } 
       ], 
       hasMany: [{ model: 'RootResults', name: 'RootResult'}] 
      }); 

      Ext.define("RootResults", { 
       extend: 'Ext.data.Model', 
       fields: [ 
        { type: 'string', name: 'city' }, 
        { type: 'string', name: 'country' }, 
        { type: 'string', name: 'state' }, 
        { type: 'string', name: 'student_id' } 
       ], 
       belongsTo: 'User' 
      }); 

      var store = Ext.create('Ext.data.Store', { 
       model: 'User', 
       proxy: { 
        type: 'ajax', 
        url: 'users.json', 
        reader: { 
         type: 'json' 
        } 
       } 
      }); 

我的模型应该如何?当我给一些更简单的JSON时,我正在加载商店。我认为问题是与映射?

回答

1

定义模型

Ext.define("RootResults", { 
       extend: 'Ext.data.Model', 
       fields: [ 
        { type: 'string', name: 'city' }, 
        { type: 'string', name: 'country' }, 
        { type: 'string', name: 'state' }, 
        { type: 'string', name: 'student_id' } 
       ], 
      }); 

与读者定义中添加两个参数:

root: 'GetStudentDetails.RootResults' 
totalProperty: 'GetStudentDetails.TotalCount' 

类似的东西...主要思想 - 不要试图把内部JSON结构,以您的模型 - 正确解析它应该是读者的责任。