That means you should write specialized view classes and call that view from the controller, instead of doing the serialization in the controller.
I don't serialize in the controller. All my controllers do is pass data to the view.
Sorry, I should have said: Don't prepare view-specific hashrefs in the controller, create custom view classes to do that.
I think you understood I was implying you were creating the JSON string in the controller, and that's not the case. What I meant was the building of the hashref that you pass to the json view. The way to build that hashref should be in the view, not the controller.