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
3 Answers 3
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);
Comments
results is an array.
To access po_number, you'll need to do something like:
console.log("profile: "+ profile.results[0].po_number)
Make sure you dynamically iterate the array to access that value.
Example (in underscore/lodash) :
_.each(profile.results, (result) => {
console.log("profile: " + result.po_number);
});
Comments
var profile = JSON.parse(JSON.stringify(data[0]))
console.log("profile: "+ profile.po_number)
profile.resultsit's an array not an object, you have to use something likeprofile.results[index].po_number,profile.results[0].po_numberfor example.