验证javascript中JSON对象的可用性
在json对象内部,我遍历到4个级别,任何级别都可能未定义和代码中断 如何验证/检查JavaScript中的json节点而不是jquery中的json节点验证javascript中JSON对象的可用性,javascript,json,node.js,Javascript,Json,Node.js,在json对象内部,我遍历到4个级别,任何级别都可能未定义和代码中断 如何验证/检查JavaScript中的json节点而不是jquery中的json节点 productDetail.breadcrumb.levels.push(paramObj.categories.category.category.category.CATEGORYNAME); 您需要这样检查: var categoryName = (paramObj.categories &a
productDetail.breadcrumb.levels.push(paramObj.categories.category.category.category.CATEGORYNAME);
您需要这样检查:
var categoryName = (paramObj.categories
&& paramObj.categories.category
&& paramObj.categories.category.category
&& paramObj.categories.category.category.CATEGORYNAME);
如果沿途没有任何对象,这将为您提供类别名称或未定义。将其抽象为检查函数
function myJsonValue(ob, prop) {
var propsArray = prop.split('.');
var out = ob;
var i;
for (i=0; i < propsArray.length; i += 1){
var dis = propsArray[i];
if (!out[dis]) {
return undefined;
}
out = out[dis];
}
return out;
}
您所能做的就是
尝试。。catch
-虽然通常您应该知道数据的结构。有时数据结构可能会更改。For in用于在对象属性列表上进行迭代。看见
myJsonValue(paramObj, "categories.category.category.category.CATEGORYNAME")