ujson.dumps遇到报错maximum recursion depth exceeded while calling a Python object

问题描述:
有一个dict的结果需要转为str进行网络传输,在使用ujson.dumps函数的时候,报错maximum recursion depth exceeded while calling a Python object.

当时报错的时候,错误只说是maximum recursion depth exceeded while calling a Python object,没有明确的说是因为ujson.dumps这个函数,实在调试的时候发现问题出在这里。

解决思路

  1. 百度查这个错误:发现百度的相关解释是因为太多的递归,但是我们的代码中不涉及到很多的递归。排除。
  2. 尝试使用其他的库,比如json.dumps()函数。

问题解决:
使用json.dumps()继续运行之后,虽然也遭遇报错,但是json.dumps()函数的报错更加明确了:

Object of type 'int64' is not JSON serializable

按照网上说法,在python3中,数字整型类型只有int,而int64主要出现在numpy中,因此初步的思路是把dict中的元素逐个检查来源,如果是numpy中出来的参数,将它们都强制转换为int类型。

然后就美滋滋啦~~~

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容