ExtJS的eval Ext.JSON.decode()方法可以將JSON字符串解析成JavaScript對(duì)象,該方法的第一個(gè)參數(shù)是一個(gè)JSON字符串,第二個(gè)參數(shù)為布爾型,表示是否保留時(shí)間信息。
當(dāng)?shù)诙€(gè)參數(shù)為false時(shí),時(shí)間格式將被解析成字符串類型,例如:
var jsonStr = '{"time": "2020-08-01T12:30:00Z"}'; var jsonObj = Ext.JSON.decode(jsonStr, false); console.log(jsonObj.time); //輸出2020-08-01T12:30:00Z
在上面的示例中,JSON字符串中的time屬性是一個(gè)被ISO 8601格式化的時(shí)間字符串,但是在解析后被當(dāng)做普通字符串進(jìn)行處理。
如果需要保留時(shí)間信息,需要將第二個(gè)參數(shù)設(shè)置為true。這樣,時(shí)間字符串將被轉(zhuǎn)換成JavaScript的Date對(duì)象。例如:
var jsonStr = '{"time": "2020-08-01T12:30:00Z"}'; var jsonObj = Ext.JSON.decode(jsonStr, true); console.log(jsonObj.time); //輸出Date對(duì)象
在實(shí)際開發(fā)中,由于服務(wù)器返回的JSON數(shù)據(jù)中往往包含時(shí)間信息,因此使用ExtJS的eval方法解析JSON時(shí),需要注意是否需要保留時(shí)間信息。