如何在节点 js 中解析 JSON 数组

use*_*829 2 javascript json node.js

我正在尝试下面的代码,其中 body 是来自HTTP GET. 当我尝试运行它时,出现以下错误。

无法读取po_number未定义的属性“ ”

{
    "d": {
        "results": [
            {
                "po_number": "PO1001",
                "product_id": "PD1001",
                "message": "Exists",
                "timestamp": "2016-05-01" 
            }
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

如何访问 po_number

var profile = JSON.parse(body);
console.log("profile: "+ profile.results.po_number);
Run Code Online (Sandbox Code Playgroud)

undefined当我访问上面的代码时,我得到了

Sur*_*yan 5

你错过了一步。您错过了对象,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);
Run Code Online (Sandbox Code Playgroud)