I am trying to get a value from a JSON array in Javascript :
The JSON array looks like :
[
{
"_id": 0,
"_entityMetadataList": [
{
"_metadataValue": "/storage/emulated/0/DCIM/.thumbnails/1524101696032.jpg",
},
{
"_metadataValue": "/storage/emulated/0/DCIM/.thumbnails/1524101694488.jpg",
}
],
"_timeCreated": "Tue Jan 15 06:10:04 2019\n",
"_timeUpdated": "Tue Jan 15 06:10:04 2019\n",
"objectEntity": {
"_id": 0,
"_EntitySiteGUID": -1
}
}
]
How I go about it :
app.post('/sound', function (req, res) {
let entitiesArray = req.body['filter'];
console.log('entitiesArray: ' + JSON.stringify(entitiesArray._entityMetadataList[0]._metadataValue))
(this is in a Node environment, by the way)
I, however keep getting the error :
TypeError: Cannot read property '0' of undefined
asked Jan 15, 2019 at 3:30
Program-Me-Rev
6,72422 gold badges73 silver badges158 bronze badges
3 Answers 3
Seems you also need to pass the index for revEntitiesArray.
Try this
console.log('revEntitiesArray: ' +
JSON.stringify(revEntitiesArray[0]._revEntityMetadataList[0]._metadataValue))
answered Jan 15, 2019 at 3:32
brk
50.3k10 gold badges59 silver badges85 bronze badges
Sign up to request clarification or add additional context in comments.
Comments
Maybe this code can help
data = [
{
"_id": 0,
"_revEntityMetadataList": [
{
"_metadataValue": "/storage/emulated/0/DCIM/.thumbnails/1524101696032.jpg",
},
{
"_metadataValue": "/storage/emulated/0/DCIM/.thumbnails/1524101694488.jpg",
}
],
"_timeCreated": "Tue Jan 15 06:10:04 2019\n",
"_timeUpdated": "Tue Jan 15 06:10:04 2019\n",
"revObjectEntity": {
"_id": 0,
"_revEntitySiteGUID": -1
}
}
]`
data[0]["_revEntityMetadataList"][0]
answered Jan 15, 2019 at 3:35
Niklas Rosencrantz
26.7k78 gold badges247 silver badges447 bronze badges
Comments
Looks like you missed that the outermost reference is an array
revEntitiesArray[0]._revEntityMetadataList[0]._metadataValue
When in doubt, assign each part of your path expression to a local variable and step through with a debugger.
Comments
lang-js