当我们在使用console.log()输出对象时,会发现输出的结果是 [object Object],而不是显示对象的属性和方法。这是因为console.log()默认将对象toString(),得到的结果就是[object Object]。
要解决这个问题,我们需要用到JSON.stringify()方法将对象转换成字符串输出。
下面是两个示例说明:
- 示例一
const obj = {
name: '小明',
age: 20,
gender: '男'
};
console.log(obj);
输出结果是:
{name: "小明", age: 20, gender: "男"}
我们无法看到属性和值的对应关系,只能看到整个对象的样式。接下来我们将它改成用JSON.stringify()输出:
const obj = {
name: '小明',
age: 20,
gender: '男'
};
console.log(JSON.stringify(obj));
输出结果是:
{"name":"小明","age":20,"gender":"男"}
现在我们可以看到对象属性和值的对应关系了。
- 示例二
下面我们来看一个更加复杂的对象:
const userInfo = {
name: '小明',
age: 20,
gender: '男',
address: {
city: '北京',
district: '海淀区',
street: '清华路30号'
}
};
console.log(userInfo);
输出的结果是:
{
name: "小明",
age: 20,
gender: "男",
address: {city: "北京", district: "海淀区", street: "清华路30号"}
}
我们发现,对象属性里包含了一个地址对象,但是我们无法看到地址对象属性和值的对应关系。现在我们改用JSON.stringify()输出:
const userInfo = {
name: '小明',
age: 20,
gender: '男',
address: {
city: '北京',
district: '海淀区',
street: '清华路30号'
}
};
console.log(JSON.stringify(userInfo));
输出的结果是:
{"name":"小明","age":20,"gender":"男","address":{"city":"北京","district":"海淀区","street":"清华路30号"}}
现在我们可以很清晰地看到对象内部的结构了。
总结:当我们需要输出对象内部的结构时,可以使用JSON.stringify()方法将对象转换成字符串输出。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:关于console.log打印结果是 [object Object]的解决 - Python技术站