判斷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}"