easyui中的json對(duì)象在處理null值時(shí)需要特別注意。在使用datagrid、combobox、tree等easyui控件時(shí),如果數(shù)據(jù)中某個(gè)字段的值為null,easyui會(huì)將null值轉(zhuǎn)換為字符串"null",而不是直接顯示為空。
//示例數(shù)據(jù) var data = [{ "name": "張三", "age": 18, "gender": null }]; //使用easyui的datagrid控件渲染數(shù)據(jù)表格 $('#dg').datagrid({ data: data });
上述示例中,當(dāng)easyui渲染數(shù)據(jù)表格時(shí),由于gender字段的值為null,easyui會(huì)將其轉(zhuǎn)換為"null"字符串并顯示出來(lái)。這樣會(huì)給用戶帶來(lái)誤解,使得數(shù)據(jù)顯示不準(zhǔn)確。
為解決這個(gè)問題,我們可以在json對(duì)象中使用undefined代替null。如下所示:
//示例數(shù)據(jù) var data = [{ "name": "張三", "age": 18, "gender": undefined }];
這樣當(dāng)easyui渲染數(shù)據(jù)表格時(shí),由于gender字段的值為undefined,easyui會(huì)將其顯示為空。
另外,如果在ajax請(qǐng)求數(shù)據(jù)時(shí),后臺(tái)返回的json對(duì)象中有null值的字段,也可以在后臺(tái)將其轉(zhuǎn)換為undefined,以便在easyui控件中正確顯示數(shù)據(jù)。
'張三', 'age' =>18, 'gender' =>null) ); //將json對(duì)象中的null值統(tǒng)一轉(zhuǎn)換為undefined foreach ($data as &$row) { $row = array_map(function($val){ return $val === null ? undefined : $val; }, $row); } //返回json數(shù)據(jù) header('Content-Type: application/json'); echo json_encode($data); ?>
以上就是關(guān)于easyui中處理json對(duì)象中null值的注意事項(xiàng)。