Reputation: 1586
I have the following json-response from a script:
[{"title":"Welkom bij Pica Plus!","url_title":"welkom-bij-pica-plus","entry_id":"36","channel_id":"1","author_id":"6","status":"open","entry_date":"1336650955000","edit_date":"1337180757000","expiration_date":"","answer_content":"Beste [Leerling],\n\nWelkom bij de cursus PowerPoint van Picaplus. Wat leuk dat je gekozen hebt voor deze cursus. \n\nMijn naam is Linda en ik zal jou begeleiden tijdens deze cursus. Dat betekent dat als je vragen hebt, je mij een berichtje kunt sturen. Ik zal je dan zo snel mogelijk antwoord geven. Ook kijk ik je toetsen na. Ik zal je na iedere toets in een bericht laten weten wat ik van jouw presentatie vind. \n\nZoals je misschien al gezien hebt, kun je op deze website een aantal belangrijke dingen doen. Je kunt instructiefilmpjes bekijken en lesmateriaal, zoals afbeeldingen en geluiden, downloaden. Ook zul je hier op de site iedere twee weken je toetspresentatie uploaden. Hoe dit allemaal in zijn werk gaat, lees je in de lessen. \n\nIk wens je veel succes met de cursus en natuurlijk heel veel plezier.\n\nMet vriendelijke groet,\n","answer_subject":""}]
When I fetch it with jQuery and try to output the url_title attribute to console (this was just a test-case, it'll eventually be inserted into a textarea
), I get undefined. But when I log the entire response-object the attribute is clearly there...
My function:
$.getJSON(fetch, function(data){
console.log(data.url_title);
});
What am I missing here?
Thanks,
Steven
Upvotes: 1
Views: 63
Reputation: 87073
$.getJSON(fetch, function(data){
console.log(data[0].url_title);// because data is an array,
// so you need to use data[0]
});
Its better to make a loop over data if it has more than one object.
$.getJSON(fetch, function(data){
$.each(data, function() {
console.log(this.url_title);
....
});
});
Upvotes: 2