1

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

@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"}

任何帮助将不胜感激。

4

1 回答 1

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,您在对自己问题的评论中提到了这个答案,但我想您可能不知道您可以返回一个字符串。

于 2013-01-16T21:21:57.417 回答