 <p><sub>(Edited to correct my initial misreading of the question.)</sub></p> <p>There's no need to override <code>parse</code> method of the model unless you want to change its structure. But it sounds like you don't need to -- to render the author name, just use <code>author.name</code> in the view:</p> <pre><code>&lt;%= author.name %&gt; </code></pre> <p>As far as initializing the nested collection, your approach is exactly right. All you have to do is convert the JSON object to Backbone models, and pass them to the <code>PostsCollection</code> (the <code>Backbone.Collection</code> constructor accepts an array of Backbone models, <em>not</em> raw JSON). One way of doing this is to use <code>map</code>:</p> <pre><code>var postModels = json.posts.map(function(post) { return new Posts(post); }); var posts = new PostsCollection(postModels); </code></pre> <p>Note that you'll need to do something similar in the <code>initialize</code> method of the <code>Posts</code> model -- retrieve the comments JSON array, and convert it to an array of <code>Comments</code> models:</p> <pre><code>initialize: function() { if (attributes.comments &amp;&amp; attributes.comments.length &gt; 0) { var commentModels = attributes.comments.map(function(comment) { return new Comments(comment); }); this.set("comments", new CommentsCollection(commentModels)); } } </code></pre> <p><a href="http://jsfiddle.net/tQw2n/5/" rel="nofollow">Here is working example.</a></p>