When I'm not using a JSON view, I pass data as objects. But the JSON view doesn't handle objects well, so then I serialize the objects and pass hashrefs.
Since most of my more interesting pages have plenty of jQuery and Ajax calls, passing objects becomes more or less impossible.