localStorage
is a bunch of string key/value pairs, so entry
will always be a string.
Therefore, you probably have something like:
var entry = localStorage.getItem(localStorage.key(i)); // Returns "example"
entry[0] // Returns "e"
entry[0]['key'] // Returns undefined
If you need to store objects in local storage, you need to stringify them first using something like JSON.stringify.
From your edit: Looks like you have a JSON string already, so all you need to do is parse it:
for (var i = 0; i < localStorage.length; i++){
var entry = JSON.parse(localStorage.getItem(localStorage.key(i))); // Parse the string value
$('body').append('<article rel="'+entry[0]['key']+'"><h2>'+entry[0]['title']+'</h2><img class="entry_img" src="'+entry[0]['image']+'"><p><span class="actions"><img class="delete" src="img/deleteicon.png" /></span>'+entry[0]['content']+'<span class="time">Toegevoegd op:'+entry.[0]['date']+'</span>'+entry.[0]['location']+'</p></article>');
}