在使用ExtJS進行開發(fā)時,我們通常需要使用JSON數(shù)據(jù)格式傳遞數(shù)據(jù),而ExtJS提供了非常方便的方式來處理JSON數(shù)據(jù)。
在ExtJS中,我們可以使用Ext.data.JsonReader來解析JSON數(shù)據(jù),具體代碼如下:
// 創(chuàng)建一個JsonReader var jsonReader = new Ext.data.JsonReader({ // 數(shù)據(jù)模型 idProperty: 'id', fields: ['id', 'name', 'age'] }); // 解析JSON數(shù)據(jù) jsonReader.readRecords(jsonData);
上述代碼中,我們首先創(chuàng)建了一個JsonReader對象,并定義了數(shù)據(jù)模型和數(shù)據(jù)屬性,然后通過調(diào)用JsonReader的readRecords方法,將JSON數(shù)據(jù)解析成Ext.data.Record對象的數(shù)組。
在實際開發(fā)中,我們通常需要通過Ajax來獲取JSON數(shù)據(jù),具體代碼如下:
// 發(fā)送Ajax請求 Ext.Ajax.request({ url: 'data.json', success: function(response, opts) { // 解析返回的JSON數(shù)據(jù) var jsonReader = new Ext.data.JsonReader({ idProperty: 'id', fields: ['id', 'name', 'age'] }); var records = jsonReader.readRecords(response.responseText); // 處理解析后的數(shù)據(jù) for (var i = 0; i< records.length; i++) { var record = records[i]; console.log(record.get('id'), record.get('name'), record.get('age')); } } });
在上述代碼中,我們通過Ext.Ajax.request發(fā)送了一個Ajax請求,然后在請求成功的回調(diào)函數(shù)中解析了返回的JSON數(shù)據(jù),并將解析后的數(shù)據(jù)通過Ext.data.Record對象進行處理。