Reputation: 634
I get this JSON array from a REST API via AJAX:
{
"results": [
{
"language_code": "es",
},
{
"language_code": "gl",
},
{
"language_code": "pt",
}
]
}
Within the AJAX success function I would like to alert
each language_code
. For some reason it's only working for the first item "es".
Here's the code:
success: function(json) {
$(json.results).each(function(item) {
alert($(this)[item].language_code);
});
}
The each loop works and alerts "0", "1" and "2" if I do something like this: alert(item);
- however, in the upper form it only reads the first item and then returns an error.
Any help would be appreciated. Thanks!
Upvotes: 0
Views: 48
Reputation: 8868
Try this. You would need to add another iteration block to get the all sub values. This would work for multiple nesting.
$.each(json,function(i) {
$.each(json[i],function(x) // yields each child in 'results'
{
alert(json[i][x]["language_code"]);
});
});
Example : https://jsfiddle.net/DinoMyte/rv3wwpsf/4/
Upvotes: 0
Reputation:
Try this instead:
$.each(json.results, function(key, val) {
alert( val.language_code );
});
Upvotes: 2