1 javascript asynchronous fetch
所以我这里有这段代码,它从 URL 调用并在控制台中显示数组
fetch('http://jsonplaceholder.typicode.com/users')
.then(
function(response) {
if (response.status !== 200) {
console.log('Looks like there was a problem');
return;
}
response.json().then(function(data){
console.log(data);
});
}
)
.catch(function(err) {
console.log('Fetch Error', err);
})
Run Code Online (Sandbox Code Playgroud)
但是,它打印出:
[object Object] {
address: [object Object] {
city: "Lebsackbury",
geo: [object Object] { ... },
street: "Kattie Turnpike",
suite: "Suite 198",
zipcode: "31428-2261"
},
Run Code Online (Sandbox Code Playgroud)
关于如何删除[object, object]并使其正常显示(与网址中相同)的任何想法?
获取不返回[object object]。它正在按其应有的方式工作。
您所观察到的是嵌套对象工作方式的副产品console.log——它使用内置的“toString()”,它添加了一些额外的信息,例如类型。
这种行为与现代 Web 浏览器处理 JSON 文本的方式不同,后者只是以原始状态直接在浏览器窗口中显示它以及一些基本格式。
要获得您所期望的内容,请使用console.log(JSON.stringify(data));它将使用内置 JSON 字符串生成器。要添加更好的格式,您可以使用console.log(JSON.stringify(data,null,2));
但是,您将获取 JSON 响应,将其解析为一个对象,然后获取该对象并将其转换回 JSON 字符串。这很愚蠢。
由于 URL 返回 JSON 字符串,因此您可以直接通过控制台记录该 JSON 字符串。
就像是console.log(response.body);
| 归档时间: |
|
| 查看次数: |
3510 次 |
| 最近记录: |