A related tip to add to @Oil's point, Bottle returns JSON by default of you return a dict:
@route('/resource.json')
def resource_json():
response = dict(
data=('tuple', 'of', 'things'))
return response
See http://bottle.paws.de/page/docs#output-casting