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、bottle関数は、dictまたはstringのいずれかを返す場合があります。したがって、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 に答える