如何parsing节点js中的JSON数组

我正在尝试下面的代码,身体是来自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

你错过了一步。 你错过了对象dresults是一个数组。 所以首先访问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); 

结果是一个数组。

要访问po_number,您需要执行以下操作:

 console.log("profile: "+ profile.results[0].po_number) 

确保你dynamic地迭代数组来访问这个值。

示例(在下划线/ lodash中):

 _.each(profile.results, (result) => { console.log("profile: " + result.po_number); }); 
 var profile = JSON.parse(JSON.stringify(data[0])) console.log("profile: "+ profile.po_number)