ExtJS是一個(gè)非常流行的Javascript框架之一。使用ExtJS,可以輕松地創(chuàng)建復(fù)雜而漂亮的Web應(yīng)用。其中之一的核心技術(shù)便是JSON。
//JSON的格式大致如下: { "name": "張三", "age": 18, "address": { "province": "北京", "city": "北京市" }, "hobby": ["運(yùn)動", "閱讀", "旅游"] }
JSON是一種輕量級的數(shù)據(jù)交換格式,非常方便用來在前后端間傳遞數(shù)據(jù)。在ExtJS中,JSON的應(yīng)用非常廣泛。它被用于創(chuàng)建數(shù)據(jù)模型、填充數(shù)據(jù)集、作為AJAX請求和響應(yīng)等等場景中。
在ExtJS中,我們一般使用store來展示數(shù)據(jù)。因此,我們需要將后端傳來的JSON數(shù)據(jù)填充到store中。這個(gè)過程可以通過以下的幾行代碼進(jìn)行實(shí)現(xiàn)。
var store = Ext.create('Ext.data.Store', { fields: ['name', 'age', 'address', 'hobby'], proxy: { type: 'ajax', url: 'data.json', reader: { type: 'json', //數(shù)據(jù)解析類型為json格式 rootProperty: 'data' //默認(rèn)為root } }, autoLoad: true });
上述代碼中,我們定義了一個(gè)名為store的store對象,它被賦予了一個(gè)名為data.json的url。這個(gè)url指向的是后端傳來的JSON數(shù)據(jù),ExtremeJS將其解析后將數(shù)據(jù)填充到名為store的數(shù)據(jù)模型中。
在使用JSON時(shí),我們還需要注意一些細(xì)節(jié)問題。比如,在AJAX請求返回的JSON數(shù)據(jù)中,屬性名稱應(yīng)當(dāng)與數(shù)據(jù)模型中定義的字段名稱一致。另外,當(dāng)后端傳回的數(shù)據(jù)格式發(fā)生變化時(shí),我們需要重新定義數(shù)據(jù)模型的字段和屬性。