標籤:
本文和大家分享的主要是JSON.stringify()執行出錯相關內容,一起來看看吧,希望對大家學習json有所協助。 Uncaught TypeError: Converting circular structure to JSON 這個錯誤是執行JSON.stringify() 時拋出的異常資訊 JSON.stringify()用於將json格式轉換為string格式,與JSON.parser()相輔相成。 兩種方式會導致該錯誤: 1、json格式資料存在迴圈調用。 舉個例子: var obj = { title: ’標題’ } obj.content = obj;JSON.stringify(obj); 執行後,控制台將輸出: Uncaught TypeError: Converting circular structure to JSON at Object.stringify (native) at <anonymous>:6:6 at Object.InjectedScript._evaluateOn (<anonymous>:875:140) at Object.InjectedScript._evaluateAndWrap (<anonymous>:808:34) at Object.InjectedScript.evaluate (<anonymous>:664:21 這是一種錯誤的編輯方式,我們應該禁止這樣進行賦值。 2、json格式資料層級過於複雜。 這種情況在高版本瀏覽器中可執行,但在一些低版本的瀏覽器中報錯(我是在chrome.40試出來的)。 導致json過於複雜大多數原因是誤將DOM或者jQuery對象賦值至json串中了。 為什麼會這樣?這是由於各類外掛程式在返回資料時,為方便使用會將事件來源所在的DOM或jQuery對象一併返回,編碼時如果不進行篩選就會造成這種錯誤。來源:簡書
JSON.stringify()執行出錯是如何產生的?