How to Parse JSON array in node js

16,642

You missed one step. You missed the object d and that the results is an array. So first access the 0 indexed item.

You need to get via 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);

Share:
16,642
user1125829
Author by

user1125829

Updated on June 14, 2022

Comments

  • user1125829
    user1125829 almost 2 years

    I was trying below code,where body is response from HTTP GET. When I tried to run it, I am getting below error.

    Cannot read property 'po_number' of undefined

    {
        "d": {
            "results": [
                {
                    "po_number": "PO1001",
                    "product_id": "PD1001",
                    "message": "Exists",
                    "timestamp": "2016-05-01" 
                }
            ]
        }
    }
    

    How to access po_number

    var profile = JSON.parse(body);
    console.log("profile: "+ profile.results.po_number);
    

    I am getting undefined when i access above code

    • Titus
      Titus over 6 years
      profile.results it's an array not an object, you have to use something like profile.results[index].po_number, profile.results[0].po_number for example.
  • Andy
    Andy over 6 years
    Why would you stringify the data then parse it?