javascript - 将 JSON 转换为字符串时如何解决此 Javascript 错误?

标签 javascript jquery string json parsing

Uncaught TypeError: Converting circular structure to JSON

我试图字符串化的对象是这个(我在 javascript 控制台中记录了它):

Object
GsearchResultClass: "GlocalSearch"
accuracy: "8"
addressLines: Array[2]
city: "Cupertino"
content: ""
country: "United States"
ddUrl: "http://www.google.com/maps?source=uds&daddr=10825+North+Wolfe+Road,+Cupertino,+CA+(Southland+Flavor+…"
ddUrlFromHere: "http://www.google.com/maps?source=uds&saddr=10825+North+Wolfe+Road,+Cupertino,+CA+(Southland+Flavor+…"
ddUrlToHere: "http://www.google.com/maps?source=uds&daddr=10825+North+Wolfe+Road,+Cupertino,+CA+(Southland+Flavor+…"
html: HTMLDivElement
lat: "37.335405"
listingType: "local"
lng: "-122.015386"
maxAge: 604800
phoneNumbers: Array[1]
region: "CA"
staticMapUrl: "http://maps.google.com/maps/api/staticmap?maptype=roadmap&format=gif&sensor=false&size=150x100&zoom=…"
streetAddress: "10825 North Wolfe Road"
title: "Southland Flavor Cafe"
titleNoFormatting: "Southland Flavor Cafe"
url: "http://www.google.com/maps/place?source=uds&q=stinky&cid=9384294304761453216"
viewportmode: "computed"
__proto__: Object

我是这样做的:

JSON.stringify(theobject);

最佳答案

一个对象在某处引用自己;因此消息“循环结构”。我怀疑它可能在 HTMLDivElement 中。您是将它仅用于调试目的还是您真的想用这个 JSON 做一些有意义的事情?如果你只是用它来调试,大多数现代 JavaScript 调试器会让你只将一个对象记录到控制台。如果你真的想对数据做些什么,你应该只从这个对象中提取你需要的东西,并将它们放入一个新的精简对象中,你可以将它传递给 JSON.stringify。这个对象看起来像是来自 Google API,并且其中有很多额外的数据。

如果您不介意破坏性地修改对象,请尝试有选择地清除可疑字段并查看 JSON.stringify 是否会接受该对象。至少这样你就会知道是什么原因造成的。请注意,如果您这样做,您最终可能会破坏该对象以备将来使用。

关于javascript - 将 JSON 转换为字符串时如何解决此 Javascript 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4954242/

相关文章:

c - 编写字符串首字母的程序

c++ - 算法和算法性能的缺陷

SQL Server : ISNULL(compound NULL condition, 'a string' ) 在某些情况下仅返回第一个字符

javascript - jQuery UI - 使 div 不可调整大小

Javascript for/in 循环 - 连接来自两个不同对象的项目?

javascript - 如何使用 redux 中的对象数组更新多个对象属性?

javascript - 无法通过JS获取输入值

javascript - 选中自定义单选按钮时更改另一个 div 中 anchor 标记的颜色

javascript - 通过类名从另一个元素查询获取元素

javascript - 如何在输入字段中使用 bootstrap 4 制作芯片