判断1.利用JSON.stringify()node
if(JSON.stringify(accounts) == "{}"){...} 实例:在easyui的tree的 data-options="onClick: function(node){ console.info(node); //该node的attribute是一个对象,若是该对象中不为空对象, //即里面有url属性,那么取值2;若是为空对象,则取值1 //注意不能直接使用node.attributes=={},由于即便是空对象,里面会有其余内置属性的,好比__proto__ var url = JSON.stringify(node.attributes)=='{}'?'':'${pageContext.request.contextPat h}'+node.attributes.url; addTab({title:node.text,href:url}); }" /*若是只是判断attributes对象中是否具备某个属性,能够使用if(node.attributes.url){flag = true}*/
判断2:利用循环对象属性json
/* * 检测对象是不是空对象(不包含任何可读属性)。 //如你上面的那个对象就是不含任何可读属性 * 方法只既检测对象自己的属性,不检测从原型继承的属性。 */ function isOwnEmpty(obj) { for(var name in obj) { if(obj.hasOwnProperty(name)) { return false; } } return true; }; /* * 检测对象是不是空对象(不包含任何可读属性)。 * 方法既检测对象自己的属性,也检测从原型继承的属性(所以没有使hasOwnProperty)。 */ function isEmpty(obj) { for (var name in obj) { return false; } return true; };
顺便说下JSON.parse()和JSON.stringify()的区别:ui
parse用于从一个字符串中解析出json对象,如url
var str = '{"name":"huangxiaojian","age":"23"}'
spa
结果:code
JSON.parse(str)
orm
Object对象
age: "23"继承
name: "huangxiaojian"字符串
__proto__: Object
注意:单引号写在{}外,每一个属性名都必须用双引号,不然会抛出异常。
stringify()用于从一个对象解析出字符串,如
var a = {a:1,b:2}
结果:
JSON.stringify(a)
"{"a":1,"b":2}"