title: How to make Backbones toJSON function include sub-models and collections?
body: <p>I have a few models that don't just contain basic data attributes, but they might have one or two attributes that hold another models object.  </p>
  
  <p>This has been okay, but now I want to call</p>
  
  <p>myRootModel.toJSON()</p>
  
  <p>and I've noticed that it doesn't call .toJSON on the other models in my model that I'm trying to call toJSON() on.</p>
  
  <p>Is there a way to override backbone model .toJSON to go through all fields, <strong>recursively</strong>, whether they are basic attributes, sub-models or collections? If not, can I override toJSON in each model / collection? </p>
  
  <p>I'm aware of backbone-relational, but I don't want to go that route - I'm not using fetch/save, instead our API returns responses that I adjust in the models parse function and simply invoke new MyRootModel(data,{parse:true}).</p>