我从action-struts 2获得数据json抛出ajax的视图。一些数据集的数据。
示例
{"home":"1234","room": null}.
我可以读取data.home
,并且得到1234的值,但是当我尝试读取data.room
时,在浏览器的控制台中出现了Uncaught错误,我该如何管理该Uncaught错误...
答案 0 :(得分:3)
只需添加测试
/* ------
var
data = {"home":"1234","room": null},
h = (data.home) ? data.home : '',
r = (data.room) ? data.room : 0;
------ */
var
data = {"home":"1234","room": null},
h = data.home || '',
r = data.room || 0;
console.log('h=',h);
console.log('r=',r);
答案 1 :(得分:1)
通过这种方式,您可以处理对象中的空值,也可以将它们替换为空字符串,或者在浏览器中以这种方式将任何您希望不会遇到异常的值替换。请参见JSON.parse
let obj={"home":"1234","room": null};
let newobj=JSON.parse(JSON.stringify(obj),(key,value)=> value===null? "" : value )
console.log(newobj)
答案 2 :(得分:0)
在尝试访问值之前尝试对数据进行清理,如下所示:
...some ajax resulting in 'data'
// replace null's for empty strings ""
JSON.stringify(data).replace(/null/i, "\"\"");
这样,您将获得一个空字符串而不是null(如果您要这样做)