协慌网

登录 贡献 社区

如何显示 JavaScript 对象?

如何以字符串格式显示 JavaScript 对象的内容,就像我们alert变量一样?

我希望显示对象的格式相同的方式。

答案

使用本机JSON.stringify方法。适用于嵌套对象,所有主流浏览器都支持此方法。

str = JSON.stringify(obj);
str = JSON.stringify(obj, null, 4); // (Optional) beautiful indented output.
console.log(str); // Logs output to dev tools console.
alert(str); // Displays output using window.alert()

链接到Mozilla API 参考和其他示例。

obj = JSON.parse(str); // Reverses above operation (Just in case if needed.)

如果遇到此 Javascript 错误,请使用自定义JSON.stringify 替换程序

"Uncaught TypeError: Converting circular structure to JSON"

使用 Firefox

如果您想打印对象以进行调试,我建议您安装Firebug for Firefox并使用以下代码:

console.log(obj)

使用 Chrome

var obj = {prop1: 'prop1Value', prop2: 'prop2Value', child: {childProp1: 'childProp1Value'}}
console.log(obj)

会显示

截图控制台chrome

注意:只能记录该对象。例如,这不起作用:

console.log('My object : ' + obj)
var output = '';
for (var property in object) {
  output += property + ': ' + object[property]+'; ';
}
alert(output);