All __json__
methods should return "plain" data structures. A particular example is that lists and dicts shouldn't be ming instrumented containers. Then it'll always be safe to modify the results without side effects (i.e. changing the database).
Some sort of helper function seems like it would be useful. It should preserve certain types (e.g. datetime, int, float, etc) since those aren't any risk and are converted to json just fine by TurboGears
allura:cj/6716