当前位置: 代码迷 >> python >> 将对象数组转换为JSON
  详细解决方案

将对象数组转换为JSON

热度:78   发布时间:2023-07-16 09:53:22.0

我正在使用web.py制作简单的Web服务,以返回array of object 我当时是在手动构造JSON String ,现在想用JSON Library替换它。 我正在尝试为此目的使用JSON

这就是我的做法:

return json.dump(schedules.__dict__)

schedules是名单schedule schedule对象的外观如下所示:

class Schedule:

    def __init__(self):
        self._matchDate = None
        self._matchTime = None

    @property
    def matchDate(self):
        return self._matchDate

    @property
    def matchTime(self):
        return self._matchTime

    @matchTime.setter
    def matchTime(self, value):
        self._matchTime = value

    @matchDate.setter
    def matchDate(self, value):
        self._matchDate = value

这是我得到的错误:

<type 'exceptions.AttributeError'> at /Schedule
'list' object has no attribute '__dict__'
Python  /home/faizan/PycharmProjects/Soccer/Rest.py in GET, line 24
Web     GET http://localhost:8080/Schedule

我该如何序列化JSON中的对象?

我认为这里的正确方法是自定义JSONEncoder,它知道如何处理所有特殊类型。 然后,您可以执行json.dump(schedules, cls=MyJSONEncoder) 这是 (搜索“扩展JSONEncoder”)的示例。

我猜想JSON仅支持POD格式,因此您应该对复杂对象使用其他序列化方法。 尝试 ,但我不确定。

  相关解决方案