文章内容

2021/6/19 10:39:01,作 者: 黄兵

Object of type Decimal is not JSON serializable

最近在使用Json序列化的时候,遇到Decimal无法序列化的问题,具体报错内容:

TypeError: Object of type Decimal is not JSON serializable

出现问题的原因:

Decimal无法被Json序列化,所以出现了以上错误。

具体出错代码:

for item in get_user_geolocation:
convert_to_ip = IPy.intToIp(item.ip, version=4)
geolocation_dict = {'id': item.id, 'ip': convert_to_ip, 'latitude': item.latitude,
'longitude': item.longitude, 'createTime': item.create_time,
'updateTime': item.time_updated, 'confirm': item.confirm}
temp_list.append(geolocation_dict)
return jsonify(temp_list)

这里主要是经纬度出现问题,需要将Decimal转换成string数据类型。

解决方案:

直接将Decimal的数据类型转换成string数据类型。

具体代码如下:

for item in get_user_geolocation:
convert_to_ip = IPy.intToIp(item.ip, version=4)
geolocation_dict = {'id': item.id, 'ip': convert_to_ip, 'latitude': str(item.latitude),
'longitude': str(item.longitude), 'createTime': item.create_time,
'updateTime': item.time_updated, 'confirm': item.confirm}
temp_list.append(geolocation_dict)
return jsonify(temp_list)


黄兵个人博客原创。

转载请注明出处:黄兵个人博客 - Object of type Decimal is not JSON serializable

分享到:

发表评论

评论列表