私はフラスコ、sqlalchemy、およびマシュマロを使用して単純な REST API を作成しています。デフォルトでは、モデルは常にアルファベット順の属性を持つ json にシリアル化されます。
マシュマロでjson属性の順番を指定する方法はありますか?
例えば:
class Sample(db.Model):
y = db.Column(db.String(256), primary_key=True)
x = db.Column(db.String(256))
def __init__(self, y, x):
self.x = x
self.y = y
class SampleSchema(Schema):
y = fields.Str()
x = fields.Str()
@app.route('/sample')
def get_sample():
dummy = Sample("MyY", "MyX")
logger.info(dummy)
schema = SampleSchema()
return jsonify(schema.dump(dummy).data)
戻り値
{
"x": "MyX",
"y": "MyY"
}
しかし、私は期待します
{
"y": "MyY",
"x": "MyX"
}
json は順序付けられていないセットであり、クライアントにとっては問題ではないことを認識しています。ただし、開発中およびきれいな印刷中のデバッグ目的のためのものです。したがって、フレームワークで属性の順序を定義できると期待しています。