如何在JSON对象中检查输入路径是否存在?在对象内部查找JSON路径
var obj = {
"schemaOne": {
"name": "abc",
"Path": "i.abc",
"count": 5347,
"subFolders": [
]
},
"schemaTwo": {
"name": "cde",
"Path": "i.cde",
"count": 0,
"subFolders": [
{
"name": "efg",
"Path": "",
"count": 0,
"subFolders": [
]
},
{
"name": "hij",
"Path": "i.hij",
"count": 1,
"subFolders": [
]
}
]
}
}
var inputpath = "obj.count";
经过几次研究,我发现下面的代码。在此代码中,用户已知o.Path
。但我想修改代码,以便动态检查obj.count
是否存在于JSON对象中?
function upd(o, path, count) {
if (o.Path == path) {
o.count = count;
} else {
var arr;
if (Array.isArray(o)) arr = o;
else if (o.subFolders) arr = o.subFolders;
else return;
for(var j=0; j < arr.length; j++) {
upd(arr[j], path, count);
}
}
}
JSON在哪里? – Teemu 2014-09-11 10:48:37
@Teemu obj变量包含JSON对象 – user87267867 2014-09-11 10:49:55
不可以,'obj'是一个JavaScript对象,它与数据交换格式无关。 – Teemu 2014-09-11 10:50:42