Flask Restless JSON格式化十进制

时间:2016-06-13 18:08:17

标签: python json flask-restless

我正在使用Flask-Restless 0.17作为API。 API有几个小数字段。我可以通过安装simplejson成功返回小数,如下所述:https://stackoverflow.com/a/15224186/1753891

但是,当我的小数点为0时,该值采用科学计数法,例如0E-8。我想改为0.00000000

我正在尝试这样的事情,但无法让它发挥作用。 0仍然以科学记数法返回。

class DecimalJSONEncoder(json.JSONEncoder):
    # Try to format the decimal
    # EDIT: but am now realizing that this doesn't work
    # It was serializing the decimal at all because I had 
    # simplejson installed.
    def default(self, o):
        if isinstance(o, decimal.Decimal):
            return format(str(o), '.8f')
        return super(DecimalJSONEncoder, self).default(o)


def init_app(app):
    # .....
    # Use the Flask-Restless postprocessor to format.
    def postprocesor(result, **kw):
        json.dumps(result, cls=DecimalJSONEncoder)

如果小数为零,我如何强制小数为0.00000000

0 个答案:

没有答案