ujson 无法编码 numpy 数组

Hel*_*lad 5 python json python-3.x ujson

numpy 数组

x = np.array([1,2,3,4])
Run Code Online (Sandbox Code Playgroud)

ujson.encode

ujson.encode(x, ensure_ascii=False, double_precision=-1)
Run Code Online (Sandbox Code Playgroud)

给我错误

OverflowError: Maximum recursion level reached
Run Code Online (Sandbox Code Playgroud)

版本信息

ujson 1.33
python 3.4.3
Run Code Online (Sandbox Code Playgroud)

似乎 ujson 无法编码 numpy 数组并给出令人困惑的错误消息。

顺便说一下,在哪里可以找到ujson的文档。谢谢

Tom*_*ohl 2

确保在 jsonification 之前将所有 numpy 数组转换为常规列表。因此,

ujson.encode(x.tolist())
Run Code Online (Sandbox Code Playgroud)

应该可以工作(Python 3.5.3;ujson 1.35)。

ujson 文档: https: //github.com/esnme/ultrajson

顺便说一句,您所描述的内容存在问题