ExtJS中的JSON decode可以幫助我們將JSON數(shù)據(jù)轉(zhuǎn)換成JavaScript對(duì)象,方便我們對(duì)數(shù)據(jù)進(jìn)行操作。下面我們就來介紹一下JSON decode的用法。
// 假設(shè)我們有一個(gè)JSON數(shù)據(jù)如下所示 var jsonData = { "name": "張三", "age": 18, "gender": "男" }; // 使用Ext.JSON.decode()方法將jsonData轉(zhuǎn)換成JavaScript對(duì)象 var jsData = Ext.JSON.decode(jsonData); // 接下來我們就可以通過jsData來訪問JSON數(shù)據(jù)中的信息了 console.log(jsData.name); // 輸出:張三 console.log(jsData.age); // 輸出:18 console.log(jsData.gender); // 輸出:男
在解析JSON數(shù)據(jù)時(shí),可能會(huì)遇到一些特殊情況,比如說數(shù)據(jù)中存在日期格式的數(shù)據(jù)。這時(shí)候我們就需要自定義一個(gè)解析函數(shù),對(duì)特定的數(shù)據(jù)進(jìn)行處理。下面是一個(gè)示例:
// 假設(shè)我們有一個(gè)JSON數(shù)據(jù)如下所示 var jsonData = { "name": "李四", "birthday": "1990-01-01" }; // 自定義一個(gè)解析函數(shù),將birthday轉(zhuǎn)換成Date對(duì)象 function parseBirthday(key, value) { if (key === 'birthday') { return new Date(value); } return value; } // 使用Ext.JSON.decode()方法,并傳入自定義的解析函數(shù) var jsData = Ext.JSON.decode(jsonData, parseBirthday); // 接下來我們就可以使用jsData.birthday來訪問轉(zhuǎn)換后的日期對(duì)象了 console.log(jsData.birthday.getFullYear()); // 輸出:1990
總結(jié)來看,JSON decode是ExtJS中非常常用的一個(gè)方法,可以方便快捷地將JSON數(shù)據(jù)轉(zhuǎn)換成JavaScript對(duì)象,并且還可以通過自定義解析函數(shù)來對(duì)特定的數(shù)據(jù)進(jìn)行處理。