TypeError:从具有构造函数“ClientRequest”属性“socket”的对象开始的 JSON 循环结构 -> 具有构造函数“Socket”的对象

Mig*_*elo 4 javascript node.js typescript typeorm

当我尝试使用 axios 向我自己的 typeorm API 发出发布请求时,出现以下错误:

\n
TypeError: Converting circular structure to JSON\n    --> starting at object with constructor 'ClientRequest'\n    |     property 'socket' -> object with constructor 'Socket'\n    --- property '_httpMessage' closes the circle\n    at JSON.stringify (<anonymous>)\n    at stringify (C:\\Users\\Usuario\\Documents\\Manga-Api\\Manga-Api\\node_modules\\express\\lib\\response.js:1123:12)\n    at ServerResponse.json (C:\\Users\\Usuario\\Documents\\Manga-Api\\Manga-Api\\node_modules\\express\\lib\\response.js:260:14)\n    at ServerResponse.send (C:\\Users\\Usuario\\Documents\\Manga-Api\\Manga-Api\\node_modules\\express\\lib\\response.js:158:21)\n    at C:\\Users\\Usuario\\Documents\\Manga-Api\\Manga-Api\\src\\managers\\scrape.manager.ts:163:33\n    at processTicksAndRejections (node:internal/process/task_queues:93:5)\n
Run Code Online (Sandbox Code Playgroud)\n

我尝试使用一些库来修复循环结构 JSON 并解析它,但都失败了:

\n
const safeStringify = require('json-stringify-safe');\nconst CircularJSON = require('circular-json');\n
Run Code Online (Sandbox Code Playgroud)\n

实体的关系都没有添加级联选项。

\n
await axios.post(apiName+'/object', data, { headers: { Authorization: res.req.headers.authorization } }).then(response => { res.send(response); });\n
Run Code Online (Sandbox Code Playgroud)\n

我想要保留在数据库中的对象的数据示例:

\n
data = {\n    "response": "Manga created",\n    "manga": {\n        "magazine": {\n            "name": "JUMP SQ.",\n            "japanName": "\xe3\x82\xb8\xe3\x83\xa3\xe3\x83\xb3\xe3\x83\x97SQ.",\n            "website": "https://jumpsq.shueisha.co.jp/sq/",\n            "releaseDate": "",\n            "id": 33,\n            "mangas": [\n                {\n                    "finished": false,\n                    "id": 91,\n                    "chapter": 312,\n                    "state": false,\n                    "published": false,\n                    "updated": false,\n                    "priority": 0\n                },\n                {\n                    "finished": false,\n                    "id": 166,\n                    "chapter": 201,\n                    "state": false,\n                    "published": false,\n                    "updated": false,\n                    "priority": 0\n                },\n                {\n                    "finished": false,\n                    "id": 175,\n                    "chapter": 85,\n                    "state": false,\n                    "published": false,\n                    "updated": false,\n                    "priority": 0\n                },\n                {\n                    "finished": false,\n                    "id": 202,\n                    "chapter": 95,\n                    "state": false,\n                    "published": false,\n                    "updated": false,\n                    "priority": 0\n                },\n                {\n                    "finished": false,\n                    "id": 363,\n                    "chapter": 94,\n                    "state": false,\n                    "published": false,\n                    "updated": false,\n                    "priority": 0\n                },\n                {\n                    "finished": false,\n                    "id": 366,\n                    "chapter": 124,\n                    "state": false,\n                    "published": false,\n                    "updated": false,\n                    "priority": 0\n                },\n                {\n                    "finished": false,\n                    "id": 456,\n                    "chapter": 46,\n                    "state": false,\n                    "published": false,\n                    "updated": false,\n                    "priority": 0\n                },\n                {\n                    "finished": false,\n                    "id": 515,\n                    "chapter": 50,\n                    "state": false,\n                    "published": false,\n                    "updated": false,\n                    "priority": 0\n                },\n                {\n                    "finished": false,\n                    "id": 520,\n                    "chapter": 14,\n                    "state": false,\n                    "published": false,\n                    "updated": false,\n                    "priority": 0\n                },\n                {\n                    "finished": false,\n                    "id": 567,\n                    "chapter": 14,\n                    "state": false,\n                    "published": false,\n                    "updated": false,\n                    "priority": 0\n                },\n                {\n                    "finished": false,\n                    "id": 1024,\n                    "chapter": 0,\n                    "state": false,\n                    "published": false,\n                    "updated": false,\n                    "priority": 0\n                }\n            ]\n        },\n        "author": {\n            "name": "AIMOTO SHOU",\n            "japanName": "",\n            "id": 417,\n            "mangas": [\n                {\n                    "finished": false,\n                    "id": 456,\n                    "chapter": 46,\n                    "state": false,\n                    "published": false,\n                    "updated": false,\n                    "priority": 0\n                },\n                {\n                    "finished": false,\n                    "id": 1024,\n                    "chapter": 0,\n                    "state": false,\n                    "published": false,\n                    "updated": false,\n                    "priority": 0\n                }\n            ]\n        },\n        "languages": [\n            {\n                "code": 0,\n                "name": "Kemono Jihen"\n            },\n            {\n                "code": 1,\n                "name": "\xe6\x80\xaa\xe7\x89\xa9\xe4\xba\x8b\xe5\xa4\x89"\n            }\n        ]\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

如果我尝试通过 Postman 发布此 JSON,它会正常工作。不要通过代码购买,可能是由于实体的循环问题

\n

Mig*_*elo 5

正如@backtick所说,我应该做 res.send(response.data) 而不是整个响应对象。谢谢