【问题标题】:builtins.TypeError TypeError: {2, 5, 23} is not JSON serializable [duplicate]builtins.TypeError TypeError: {2, 5, 23} 不是 JSON 可序列化的 [重复]
【发布时间】:2016-12-20 02:41:51
【问题描述】:

这是我的代码。
我在b.start_time 中收到JSON 不可序列化错误。

def rooms():
    rooms = Room.query.all()       
    formatted_rooms = []
    for r in rooms:
        book = Booking.query.filter_by(room_id=r.id).all()
        formatted_rooms.append( {           
                'name' : r.name,
                'floor': r.floor, 'location': r.location, 
                'city' : r.city, 'capacity' : r.capacity,
                'credits' : r.credits, 'amenities' : r.amenities ,
                'room_id' : r.id,
                 'booking_details': { (b.start_time) 
                                     for b in book }
                                } )
    return json.dumps(formatted_rooms) , 200, {'Content-Type':'application/json'}

【问题讨论】:

    标签: python json serialization flask


    【解决方案1】:

    set 不是 JSON 数据类型

    改变这个

    'booking_details': { (b.start_time) for b in book }
    

    到一个列表

    'booking_details': [ (b.start_time) for b in book ]
    

    【讨论】:

    • 非常感谢@cricket_007,它成功了
    猜你喜欢
    • 1970-01-01
    • 2017-10-24
    • 2016-08-02
    • 2019-02-08
    • 2013-05-11
    • 2019-04-04
    • 2014-08-13
    • 2019-09-01
    • 1970-01-01
    相关资源
    最近更新 更多