激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務(wù)器之家 - 編程語言 - JavaScript - json - 詳解如何解決使用JSON.stringify時遇到的循環(huán)引用問題

詳解如何解決使用JSON.stringify時遇到的循環(huán)引用問題

2022-02-20 17:31汪子熙 json

這篇文章主要介紹了詳解如何解決使用JSON.stringify時遇到的循環(huán)引用問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

程序員在日常做TypeScript/JavaScript開發(fā)時,經(jīng)常需要將復(fù)雜的JavaScript對象通過JSON.stringify序列化成json字符串,保存到本地以便后續(xù)具體分析。

詳解如何解決使用JSON.stringify時遇到的循環(huán)引用問題

然而如果JavaScript對象本身包含循環(huán)引用,則JSON.stringify不能正常工作,錯誤消息:

VM415:1 Uncaught TypeError: Converting circular structure to JSON

詳解如何解決使用JSON.stringify時遇到的循環(huán)引用問題

解決方案,使用下面這段來自這個網(wǎng)站的代碼,定義一個全局cache數(shù)組,每當(dāng)待序列化的JavaScript對象的屬性被遍歷時,將該屬性對應(yīng)的值存儲到cache數(shù)組去。

如果遍歷時發(fā)現(xiàn),有屬性值已經(jīng)在cache數(shù)組里有值了,說明檢測到了循環(huán)引用,此時直接return退出循環(huán)即可。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
var cache = [];
var str = JSON.stringify(o, function(key, value) {
  if (typeof value === 'object' && value !== null) {
    if (cache.indexOf(value) !== -1) {
      // 移除
      return;
    }
    // 收集所有的值
    cache.push(value);
  }
  return value;
});
cache = null; // 清空變量,便于垃圾回收機制回收

使用這種辦法,我成功將一個存在循環(huán)引用的JavaScript對象序列化成字符串了。

詳解如何解決使用JSON.stringify時遇到的循環(huán)引用問題

到此這篇關(guān)于詳解如何解決使用JSON.stringify時遇到的循環(huán)引用問題的文章就介紹到這了,更多相關(guān)JSON.stringify 循環(huán)引用內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/i042416/article/details/113891195

延伸 · 閱讀

精彩推薦
  • json一文看懂JSONP原理和應(yīng)用

    一文看懂JSONP原理和應(yīng)用

    這篇文章主要介紹了一文看懂JSONP原理和應(yīng)用,對JSONP感興趣的同學(xué),可以參考下...

    云中的魚7692022-03-07
  • json使Ext的Template可以解析二層的json數(shù)據(jù)的方法

    使Ext的Template可以解析二層的json數(shù)據(jù)的方法

    使Ext的Template可以解析二層的json數(shù)據(jù)的方法...

    json教程網(wǎng)4982022-01-03
  • jsonJSON學(xué)習(xí)筆記

    JSON學(xué)習(xí)筆記

    JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式,易于閱讀和編寫,同時也易于機器解析和生成。它基于ECMA262語言規(guī)范(1999-12第三版)中JavaScript編...

    JSON教程網(wǎng)3652022-01-03
  • jsonXML的代替者----JSON

    XML的代替者----JSON

    我個人覺得PHP與Javascript各有長處,如果能完美的結(jié)合起來,那將創(chuàng)造出許許多多的奇跡!我是初次寫此類文章,Bug難免,請各位指正~ 現(xiàn)在AJAX應(yīng)用非常流行...

    JSON教程網(wǎng)7332022-01-03
  • json看了就知道什么是JSON

    看了就知道什么是JSON

    JSON(Javascript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。易于人閱讀和編寫。同時也易于機器解析和生成。它基于Javascript Programming Language, Standard ECMA-262 ...

    JSON教程網(wǎng)6042022-01-03
  • json用 JSON 處理緩存

    用 JSON 處理緩存

    使用 JSON(即 JavaScript Object Notation),將以一種特定的字符串形式來表示 JavaScript 對象。如果將具有這樣一種形式的字符串賦給任意一個 JavaScript 變量,該...

    JSON教程網(wǎng)9032022-01-03
  • json厲害了,ECMAScript 新提案:JSON模塊

    厲害了,ECMAScript 新提案:JSON模塊

    第三階段的一個名為JSON模塊的新提議,提出了一種將JSON導(dǎo)入到ES模塊的方法。現(xiàn)在,我們來看看JSON模塊是如何工作的。...

    大遷世界11352021-12-27
  • json告訴大家什么是JSON

    告訴大家什么是JSON

    JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。易于人閱讀和編寫。同時也易于機器解析和生成。...

    json教程網(wǎng)6632022-01-03
主站蜘蛛池模板: 羞羞答答xxdd在线播放 | 成年人视频在线免费观看 | 国产乱淫a∨片免费观看 | 黄色片视频在线观看 | 天天操天天插天天干 | 中文字幕一区在线观看视频 | 国产精品久久久久一区二区 | 欧洲色阁中文字幕 | 自拍偷拍亚洲图片 | 成人啪啪18免费网站 | 国产精品欧美久久久久一区二区 | 最新亚洲国产 | 香蕉成人在线视频 | 亚洲草逼视频 | 美女露100%无遮挡 | 久久经典视频 | 欧美亚州| 草久免费 | 娇妻被各种姿势c到高潮小说 | 精品国产一区二区三区四 | 激情小说区 | 一级成人免费 | 久久精品无码一区二区日韩av | 一区二区三区日韩 | 天天操天天看 | 久久福利精品 | 欧美成人免费香蕉 | 国产精品视频自拍 | 欧美一级毛片欧美一级成人毛片 | 欧美国产免费 | 成人精品免费在线观看 | 超碰一区 | 成人毛片免费视频 | av电影院在线观看 | 久久精品欧美一区二区三区不卡 | 亚洲精品久久久久久久久久 | 黄色成人短视频 | 精品成人在线观看 | 一级在线免费观看视频 | 久久男人视频 | 一级在线观看视频 |