显示一个json对象出现[object Object]的解决办法

码农公社  210.net.cn   210= 1024  10月24日一个重要的节日--码农(程序员)节

在用console.log打印一个json对象时没有显示预期结果,显示了[object Object]结果,且看解决之法。


1
2
3
4
5
6
7
8
9
10

console.clear();
var j = {};
j.name = "210.net.cn";
j.sex = true;
j.age = 20;
//输出
console.log("JSON对象:"+j);
console.log("JSON对象:"+JSON.stringify(j));
console.log(j);

console.log("JSON对象:%o",j);



控制台显示


json对象:[object object]

json对象:{"name":"210.net.cn","sex":"true","age":20}

 {name:"210.net.cn",sex:true,age:20}

json对象: {name:"210.net.cn",sex:true,age:20}



需要先了解Console对象

Console 对象用于 JavaScript 调试。JavaScript 原生中默认是没有 Console 对象,这是宿主对象(也就是游览器)提供的内置对象。 用于访问调试控制台, 在不同的浏览器里效果可能不同。

console.log()方法可以简单地传递一系列对象,这些对象的字符串表示形式被串联成一个字符串,然后输出到控制台。(以Object.prototype.toString()的方法表示为字符串)

 

正是因为console.log()在输出多个对象的时候会以字符串的形式串联成一个字符串输出,所以会显示为“JSON对象: [object Object]"。

要想正确显示一个json对象可以单独打印,或者利用JSON.stringify()方法 将要打印的json对象格式化为字符串。

当然console.log()支持字符串替换,so,也可以用字符串替换的方式

%o、%O:输出一个js对象,在控制台中可以打开有关对象的更多信息。%后面是对象Object的首写字母"O"。


评论