我想知道一個屬性是否存在於json樹中,無論深度如何。有沒有簡單的方法來判斷json對象是否包含屬性?
isPropertyExists(@JSON @,@屬性名@),返回// [@is存在@,@屬性值@,@屬性路徑@]
例如:
var jsonObj={
lvl1a:{
lvl2a:{lvl3:"some value"},
lvl2b:{lvl3a:"some value",
lvl3b:"some value"}
},
lvl1b:{
lvl2aa:"some value",
lvl2bb:{target1:"some value"}
}
}
isPropertyExists(jsonObj,'lvl1a') // returns [true,jsonObj.lvl1a,'jsonObj.lvl1a']
isPropertyExists(jsonObj,'target1') // returns [true,jsonObj.lvl1b.lvl2bb.target1,'jsonObj.lvl1b.lvl2bb.target1']
isPropertyExists(jsonObj,'target2') // returns false
這是一個JavaScript對象,而不是一個JSON對象。 – Pointy
遞歸是你的朋友 – hindmost
使用JSON實際上更容易,你可以查找字符串:'json.indexOf('「lvl1a」:')!= -1'。 – Guffa