无法访问未定义的JSON值

时间:2019-01-17 17:54:13

标签: javascript json

无法从JSON获取某些值。

我想得到result.datafeed[0].prod[0].vertical[0].deviceProductJson[0].product_brand时得到未定义。

所以我去检查控制台中的结构,这将带回以下内容。

console.dir(result.datafeed[0].prod[0].vertical[0].deviceProductJson[0]);

'{
"product_id": "1",
"product_name": "Name",
"product_brand": "Brand",
"product_brand_id": "4",
"product_type": "",
"product_type_id": "1"
}'

我如何访问product_brand,它总是返回undefined而不是Brand

因此,我遍历数据以为那只是一个空单元格,并且所有这些都未定义回来,我做错什么了吗,因为我感觉自己正在正确地进行调用,因为其他数据从归档中返回同一区域。

2 个答案:

答案 0 :(得分:0)

let result = JSON.parse(result.datafeed[0].prod[0].vertical[0].deviceProductJson[0]);
console.dir(result.product_brand);

答案 1 :(得分:0)

result.datafeed[0].prod[0].vertical[0].deviceProductJson[0]包含一个字符串值。因此,当您尝试访问其属性时会得到一个undefined

一个简单而快速的前进方法是

var brand = JSON.parse(result.datafeed[0].prod[0].vertical[0].deviceProductJson[0])['product_brand']