Reputation:
I have an object with key value pairs inside an array:
var data = [
{
"errorCode":100,
"message":{},
"name":"InternetGatewayDevice.LANDevice.1.Hosts.HostNumberOfEntries",
"value":"2"
}
];
I want to get the value of "value" key in the object. ie, the output should be "2".
I tried this:
console.log(data[value]);
console.log(data.value);
Both logging "undefined". I saw similar questions in SO itself. But, I couldn't figure out a solution for my problem.
Upvotes: 12
Views: 85252
Reputation: 14990
You are trying to get the value from the first element of the array. ie, data[0]
. This will work:
console.log(data[0].value);
If you have multiple elements in the array, use JavaScript map function or some other function like forEach to iterate through the arrays.
data.map(x => console.log(x.value));
data.forEach(x => console.log(x.value));
Upvotes: 18
Reputation: 1345
You can use the map property of the array. Never try to get the value by hardcoding the index value, as mentioned in the above answers, Which might get you in trouble. For your case the below code will works.
data.map(x => x.value)
Upvotes: 28
Reputation: 81
what you are trying to read is an object which an element of an array, so you should first fetch the element of array by specifying its index like data[0] and then read a property of the fetched object, i.e. .value,
so the complete syntax would be data[0].value Hope it helps !
Upvotes: 1
Reputation: 2363
Try this...
Actually Here Data
is an array of object so you first need to access that object and then you can access Value
of that object.
var data = [
{
"ErrorCode":100,
"Message":{},
"Name":"InternetGatewayDevice.LANDevice.1.Hosts.HostNumberOfEntries",
"Value":"2"
}
];
alert(data[0].Value);
Upvotes: 5
Reputation: 77482
data
is Array
you need get first element in Array
and then get Value
property from Object
,
var data = [{
"ErrorCode":100,
"Message":{},
"Name":"InternetGatewayDevice.LANDevice.1.Hosts.HostNumberOfEntries",
"Value":"2"
}];
console.log(data[0].Value);
Upvotes: 5