我正在尝试下面的代码,其中body是来自HTTP GET
的响应。当我试图运行它时,我遇到了错误。
无法读取未定义
的属性“po_number
”
{
"d": {
"results": [
{
"po_number": "PO1001",
"product_id": "PD1001",
"message": "Exists",
"timestamp": "2016-05-01"
}
]
}
}
如何访问po_number
var profile = JSON.parse(body);
console.log("profile: "+ profile.results.po_number);
当我访问上面的代码
时,我收到了undefined
答案 0 :(得分:3)
你错过了一步。您错过了对象d
并且results
是一个数组。因此,首先访问0
索引项。
您需要通过profile.d.results[0].po_number
。
const jsonObj = `{ "d": {
"results": [
{
"po_number": "PO1001",
"product_id": "PD1001",
"message": "Exists",
"timestamp": "2016-05-01"
}]
}}`;
var profile = JSON.parse(jsonObj);
console.log(profile.d.results[0].po_number);

答案 1 :(得分:0)
结果是一个数组。
要访问po_number,您需要执行以下操作:
console.log("profile: "+ profile.results[0].po_number)
确保动态迭代数组以访问该值。
示例(在下划线/ lodash中):
_.each(profile.results, (result) => {
console.log("profile: " + result.po_number);
});
答案 2 :(得分:-1)
var profile = JSON.parse(JSON.stringify(data[0]))
console.log("profile: "+ profile.po_number)