首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Quart JSON编码

Quart JSON编码
EN

Stack Overflow用户
提问于 2018-06-05 16:39:47
回答 1查看 660关注 0票数 0

作为第一次使用Quart的用户,我很难定义json编码器/解码器。我有像这样的嵌套对象:

代码语言:javascript
复制
class ObjA:
    def __init__(self, name, color):
        self.name = name
        self.__color = color

class Color:
    def __init__(self, t):
        self.t = t

是否可以在每个类中定义编码器/解码器,然后让quart处理剩下的事情?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-06 04:39:41

假设您想使用jsonify函数,您可以通过如下方式定义一个自定义JSONEncoder来实现此目的:

代码语言:javascript
复制
from quart.json import JSONEncoder

class CustomJSONEncoder(JSONEncoder):

    def default(self, obj):
        if isinstance(obj, Color):
            return obj.t
        elif isinstance(obj, ObjA):
            return {
                'name': obj.name,
                '_color': self.default(obj._color),
            }
        else:
            return JSONEncoder.default(self, obj)

app = Quart(__name__)
app.json_encoder = CustomJSONEncoder

请注意,我已经将__color变量更改为_color,以避免名称损坏问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50695772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档