日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

extjs关于jsonreader

發布時間:2023/11/27 生活经验 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 extjs关于jsonreader 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JavaScript中,JSON是一種非常重要的數據格式,key:value的形式比XML那種復雜的標簽結構更容易理解,代碼量也更小,很多人傾向于使用它作為EXT的數據交換格式。

JsonReader支持分頁,與JSON數據對應格式如下:

 totalProperty: ? json數據中,保存總記錄數的屬性successProperty:  json數據中,保存是否返回成功的屬性名 
 root:       json數據中,保存記錄集的屬性的屬性名id:  ?????????? json數據中,記錄中主鍵所對應的列的屬性名

?例如:為Json- Reader準備的JSON數據如下面的代碼所示:

????????//JSON數據

??????? var json = { 'results': 2,

???????????????????? 'rows': [

??????????????????????????????? { 'id': 1, 'name': 'Bill', occupation: 'Gardener' },

??????????????????????????????? { 'id': 2, 'name': 'Ben', occupation: 'Horticulturalist' }

???????????????????????????? ]

 ??????????? };? 
在JsonReader中設置為如下代碼: 
 ? //JsonReader??????????? var reader = new Ext.data.JsonReader(??????????????? {??????????????????? totalProperty: "results",? //totalRecords屬性由json.results得到??????????????????? successProperty: true,??? //json數據中,保存是否返回成功的屬性名??????????????????? root: "rows",??????????? //構造元數據的數組由json.rows得到??????????????????? id: "id"??????????????? //id由json.id得到??????????????? }, [??????????????????? { name: 'name', mapping: 'name' },??????????????????? { name: 'occupation'}??????????? //如果name與mapping同名,可以省略mapping??????????????? ] 
 ??????????? ); 

?

jsonreader從proxy中讀取的數據需要進行解析,這些數據轉換成Record數組后才能提供給Ext.data.Store使用。

在JavaScript中,JSON是一種非常重要的數據格式,key:value的形式比XML那種復雜的標簽結構更容易理解,代碼量也更小,很多人傾向于使用它作為EXT的數據交換格式。為JsonReader準備的JSON數據如下面的代碼所示:

var data = {

id:0,

totalProperty:2,

successProperty:true,

root:[

{id:'id1',name:'name1',descn:'descn1'},

{id:'id2',name:'name2',descn:'descn2'}

]

};

與數組相比,JSON的最大優點就是支持分頁,我們可以使用totalProperty參數表示數據的總量。successProperty參數是可選的,可以用它判斷當前請求是否執行成功,進而判斷是否進行數據加載。在不希望JsonReader處理響應數據時,可以把successProperty設置成false。

現在來討論一下JsonReader,看看它是如何與上面的JSON數據對應的,如下面的代碼所示。

var reader = new Ext.data.JsonReader({

successProperty: "successproperty",

totalProperty: "totalProperty",

root: "root",

id: "id"

}, [

{name:'id',mapping:'id'},

{name:'name',mapping:'name'},

{name:'descn',mapping:'descn'}

]);

因為name和mapping部分的內容是相同的,其實這里的mapping可以省略,默認會用name參數從JSON中獲得對應的數據。如果不想與JSON里的名字一樣,也可以使用mapping修改。不過,mapping在這里還有其他用途,如代碼清單10-3所示:

JsonReader設置mapping進行數據映射

var data = {

id:0,

totalProperty:2,

successProperty:true,

root:[

{id:'id1',name:'name1',descn:'descn1',person:{

id:1,name:'man',sex:'male'

}},

{id:'id2',name:'name2',descn:'descn2',person:{

id:2,name:'woman',sex:'female'

}}

] };

var reader = new Ext.data.JsonReader({

successProperty: "successproperty",

totalProperty: "totalProperty",

root: "root",

id: "id"

}, [

'id','name','descn',

{name:'person_name',mapping:'person.name'},

{name:'person_sex',mapping:'person.sex'}

]);

總結

以上是生活随笔為你收集整理的extjs关于jsonreader的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。