使用bottle.py返回Sorted JSON

时间:2013-01-15 22:06:38

标签: python json bottle

我正在使用bottle.py构建API,并希望返回按键排序的jsons。这是代码:

@route('/test', method='GET')
def sorted():
  return {'z': 'should be last', 'm': 'should be second', 'a': 'should be first'}

不幸的是它会返回

{"a": "should be first", "z": "should be last", "m": "should be second"} 

我希望返回的是

{"a": "should be first", "m": "should be second", "z": "should be last"}

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

IIRC,瓶子功能可以返回字典字符串。所以只需返回一个json字符串,让json.dumps为你做排序:

@route('/test')
def sorted():
  d = {'z': 'should be last', 'm': 'should be second', 'a': 'should be first'}
  response.headers['Content-Type'] = 'application/json'
  return json.dumps(d, sort_keys=True)

niko246,你在自己的问题评论中提到了这个答案,但我想也许你不知道你可以回复一个字符串。