Q:

Automatic population of Backbone.Collection using JSON objects

//Model
var Dog = Backbone.Model.extend({
    name:'',
    breed:''

});

//Collection
var Dogs = Backbone.Collection.extend({
    model : Dog,
    url : '/dogs'

    parse : function(res) 
    {
        alert('response' + res);
    return res;
    }

});

This is the JSON objec that I receive from server which is implemented using Jersey.
I return a List of DogModel from Server, it is converted to JSON 
@Produces(MediaType.APPLICATION_JSON)

{"DogModel":[{"name":"Jane","breed":"Great Dane"},
{"name":"Rocky","breed":"golden Retriver"},
{"name":"Jim","breed":"Lab"}]}

Wonder I haven't understood the usage of Collection and its url attribute correctly.
My assumption is that, when ever fetch is called on Collection, it'll fetch the dogs details from the server and populate the collection.
I do get the response as stated above but the collection is not populated as expected.
What should I do to automatically populate the list of models with the collection?
Do I need to work on the representation of JSON objects?
Help Appreciated!!! 

A:

The parse function needs to return the array of dogs. So you can update your code as follows.
parse : function(res) 
{
    alert('response' + res);
    return res.DogModel;
}

On a side note, you want to declare your model's default attribute values on the defaults hash like the code below shows (see documentation)
var Dog = Backbone.Model.extend({
  defaults: {    
    name:'',
    breed:''
  }
});

