值错误:检测到循环引用。

4

我的代码大约有287行,当在命令提示符上执行时一切正常,但是当在本地主机上使用Flask编译时,它显示以下错误:

ERROR:series-api:Exception on /papis/get-series [GET]
Traceback (most recent call last):
  File "C:\Users\mkiak\AppData\Roaming\Python\Python39\site-packages\flask\app.py", line 2070, in wsgi_app
    response = self.full_dispatch_request()
  File "C:\Users\mkiak\AppData\Roaming\Python\Python39\site-packages\flask\app.py", line 1515, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "C:\Users\mkiak\AppData\Roaming\Python\Python39\site-packages\flask\app.py", line 1513, in full_dispatch_request
    rv = self.dispatch_request()
  File "C:\Users\mkiak\AppData\Roaming\Python\Python39\site-packages\flask\app.py", line 1499, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
  File "E:\series-api.py", line 275, in getSeries
    return jsonify(result)
  File "C:\Users\mkiak\AppData\Roaming\Python\Python39\site-packages\flask\json\__init__.py", line 348, in jsonify
    f"{dumps(data, indent=indent, separators=separators)}\n",
  File "C:\Users\mkiak\AppData\Roaming\Python\Python39\site-packages\flask\json\__init__.py", line 129, in dumps
    rv = _json.dumps(obj, **kwargs)
  File "C:\Program Files\Python39\lib\json\__init__.py", line 234, in dumps
    return cls(
  File "C:\Program Files\Python39\lib\json\encoder.py", line 199, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "C:\Program Files\Python39\lib\json\encoder.py", line 257, in iterencode
    return _iterencode(o, 0)
ValueError: Circular reference detected
1个回答

7
你在对象内部引用对象本身。 最简单的例子:
import json

d = {}
d["a"] = d

json.dumps(d) # raises ValueError: Circular reference detected

你可以尝试创建一个对象的(深层)副本。
d = {}
d["a"] = d.copy()

json.dumps(d)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接