TypeError: круговая структура для JSON, начинающаяся с объекта с конструктором 'ClientRequest', свойство 'socket' -> объект с конструктором 'Socket'

Я получаю следующую ошибку, когда пытаюсь сделать почтовый запрос к моему собственному API typeorm с помощью axios:

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

Я пытался использовать некоторые библиотеки, чтобы исправить круговую структуру JSON и проанализировать ее, но обе они не удались:

const safeStringify = require('json-stringify-safe');
const CircularJSON = require('circular-json');

Ни для одного из отношений сущностей не добавлена ​​опция каскада.

await axios.post(apiName+'/object', data, { headers: { Authorization: res.req.headers.authorization } }).then(response => { res.send(response); });

Пример данных с объектом, который я хочу сохранить в своей базе данных:

data = {
    "response": "Manga created",
    "manga": {
        "magazine": {
            "name": "JUMP SQ.",
            "japanName": "ジャンプSQ.",
            "website": "https://jumpsq.shueisha.co.jp/sq/",
            "releaseDate": "",
            "id": 33,
            "mangas": [
                {
                    "finished": false,
                    "id": 91,
                    "chapter": 312,
                    "state": false,
                    "published": false,
                    "updated": false,
                    "priority": 0
                },
                {
                    "finished": false,
                    "id": 166,
                    "chapter": 201,
                    "state": false,
                    "published": false,
                    "updated": false,
                    "priority": 0
                },
                {
                    "finished": false,
                    "id": 175,
                    "chapter": 85,
                    "state": false,
                    "published": false,
                    "updated": false,
                    "priority": 0
                },
                {
                    "finished": false,
                    "id": 202,
                    "chapter": 95,
                    "state": false,
                    "published": false,
                    "updated": false,
                    "priority": 0
                },
                {
                    "finished": false,
                    "id": 363,
                    "chapter": 94,
                    "state": false,
                    "published": false,
                    "updated": false,
                    "priority": 0
                },
                {
                    "finished": false,
                    "id": 366,
                    "chapter": 124,
                    "state": false,
                    "published": false,
                    "updated": false,
                    "priority": 0
                },
                {
                    "finished": false,
                    "id": 456,
                    "chapter": 46,
                    "state": false,
                    "published": false,
                    "updated": false,
                    "priority": 0
                },
                {
                    "finished": false,
                    "id": 515,
                    "chapter": 50,
                    "state": false,
                    "published": false,
                    "updated": false,
                    "priority": 0
                },
                {
                    "finished": false,
                    "id": 520,
                    "chapter": 14,
                    "state": false,
                    "published": false,
                    "updated": false,
                    "priority": 0
                },
                {
                    "finished": false,
                    "id": 567,
                    "chapter": 14,
                    "state": false,
                    "published": false,
                    "updated": false,
                    "priority": 0
                },
                {
                    "finished": false,
                    "id": 1024,
                    "chapter": 0,
                    "state": false,
                    "published": false,
                    "updated": false,
                    "priority": 0
                }
            ]
        },
        "author": {
            "name": "AIMOTO SHOU",
            "japanName": "",
            "id": 417,
            "mangas": [
                {
                    "finished": false,
                    "id": 456,
                    "chapter": 46,
                    "state": false,
                    "published": false,
                    "updated": false,
                    "priority": 0
                },
                {
                    "finished": false,
                    "id": 1024,
                    "chapter": 0,
                    "state": false,
                    "published": false,
                    "updated": false,
                    "priority": 0
                }
            ]
        },
        "languages": [
            {
                "code": 0,
                "name": "Kemono Jihen"
            },
            {
                "code": 1,
                "name": "怪物事変"
            }
        ]
    }
}

Если я попытаюсь опубликовать этот JSON через Postman, он будет работать правильно. Покупать не по коду, может из-за круговой проблемы с Сущностями

Я думаю, что res.send может ожидать чего-то другого, кроме всего объекта ответа.

backtick 26.12.2020 19:05

@backtick Вы были правы, я должен был сделать res.send(response.data), а не весь объект ответа. Такой нуб фейл, хахаха, спасибо, братан!!

Miguelo 26.12.2020 19:11
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
4
2
7 345
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Как сказал @backtick, я должен был сделать res.send(response.data), а не весь объект ответа. Спасибо

Я пробовал много методов. Наконец, это сработало для меня. Это был не res.send(), это были данные, которые мы передаем. Я передавал просто ответ, но когда я использую response.data, я получил результат. Спасибо

Mohammed Hafiz 23.02.2023 06:53

TypeError: круговая структура JSON, начинающаяся с объекта

Удалите это свойство из объекта, который вы хотите вернуть, который вызвал эту ошибку или цикл

Пример:

Удалить объект.свойство в твоем случае Удалить объект.сокет

Другие вопросы по теме