There are several errors in your code. Also your JSON is malformed.
var data = [{
"pk": 1,
"fields": {
"name": "name 1",
"description": "description 1",
"image": "absolute url 1"
},
"pk": 2,
"fields": {
"name": "name 2",
"description": "description 2",
"image": "absolute url 2"
}
}];
It has only one object with several similar properties, the last similar property overwrites the previous one, this means that the object's pk property for example is set to 2. It's probably supposed to have this structure (an array of 2 objects):
var data = [
{
"pk": 1,
"fields": {
"name": "name 1",
"description": "description 1",
"image": "absolute url 1"
}
},
{
"pk": 2,
"fields": {
"name": "name 2",
"description": "description 2",
"image": "absolute url 2"
}
}];
Now, you can read the objects' properties this way:
$.each(data, function (index, value) {
console.log("pk: ", value.pk);
console.log("fields.name: ", value.fields.name);
});
Also note that for creating a jQuery object you should remove the .:
$('#id1').append(value.pk);
pkandfieldproperties in the same object.