【发布时间】:2014-08-22 04:14:57
【问题描述】:
如何检查我的 JSON 中是否存在 subproducts 对象?
"products":[
{
"id":5002,
"description":"i dont know",
"position":1,
"weight":1,
"subproducts":{
"name":"test",
"description":"description of test"
}
}
],
每当我使用 if(product.subproducts) 和 product.subproduct.name 时,它都会让我返回 true,它们无法读取未定义的名称属性。
$.each(company.products, function (j, product) {
if(product.hasOwnProperty('subproducts') {
//do something
} else {
// do this
}
}
更新:忘了说,对于每个产品,是否包含子产品。
【问题讨论】:
-
当你记录
typeof(products.subproducts);的输出时你会得到什么? -
它给了我未定义的。
-
“每当我使用
if(product.subproducts)或product.subproduct.name时,它都会让我返回 true,它们无法读取未定义的名称属性。” 如果代码为抛出错误? -
您确实意识到
product.subproducts与product.subproduct不同?访问product.subproduct.name是非常错误的。 -
您有一个包含对象数组的对象。所以
products.subproducts不对,应该是products[0].subproducts
标签: javascript json