I'm torn. On one hand, yes, this is unsatisfactorily slow.<p>On the other, all my experience has taught me that making objects (especially in the case of ActiveRecord objects that are mapped to database tables) directly responsible for their API serialisation leads to pain: those objects end up bloated, the API reflects internal concerns rather than usage patterns, and it's really hard to evolve the API or to provide multiple versions simultaneously.<p>So even though .to_json sucks, I'm far from convinced that it matters. I'd fix it by taking it out entirely!