как решить (Uncaught TypeError: преобразование круговой структуры в JSON)

у меня есть следующий объект, и я пытаюсь преобразовать его в объект json следующим образом

 var feeTransactionsArray=[];

                 $(".editor #newPayTable .mainTr").each(function(){ 

                     var feeTransactions={};
                     var studentDetails={};
                     var feeCategory={};


                     studentDetails['studentAdmissionId']=id;

                     feeCategory['feeCatId']=$(this).find('.feeCatId').val();

                     feeTransactions['studentDetails']=studentDetails;

                     feeTransactions['feeCategory']=feeCategory;

                     feeTransactions['paidOn']=paidDate;

                     feeTransactions['transReceiptNo']=receciptNumber;

                     feeTransactions['amountPaid']=$(this).find('.amount').val();

                     feeTransactions['paymentMode']=mode

                     feeTransactions['amountPaid']=refrenceNumber;

                     feeTransactions['isConcessionGiven']='no';

                     feeTransactionsArray.push(feeTransactionsArray);
                 });
                 var myJSON = JSON.stringify(feeTransactionsArray);

это дает следующую ошибку

actions.js:1180 Uncaught TypeError: Converting circular structure to JSON
    at JSON.stringify (<anonymous>)

как это решить в моем случае. пожалуйста, помогите мне. спасибо!


person bharath    schedule 09.06.2018    source источник


Ответы (2)


Невозможно преобразовать циклическую структуру в JSON. Давайте посмотрим на один пример:

var a = { a: undefined };
var b = { b: a };
a.a = b;

Затем у нас есть объект:

{ a: { b: { a: { b : { a ... infinite recursion

... это приводит к описанной вами ошибке.

person Mayday    schedule 09.06.2018
comment
спасибо за повтор @Mayday . ваше объяснение верно. Я отправил ответ на мою ошибку. я не проверил должным образом и разместил его. - person bharath; 09.06.2018

извините все это моя глупая ошибка

it feeTransactionsArray.push(feeTransactionsArray);

должно быть feeTransactionsArray.push(feeTransactions);

person bharath    schedule 09.06.2018