【发布时间】:2020-12-14 09:09:03
【问题描述】:
我了解 Body.json() 是一个读取响应流以完成并将响应解析为 json 的函数。但是当我在响应上调用 json() 后 console.log jsonData 时,我得到了一个 javascript 对象。 jsonData 不应该返回 json 字符串而不是 javascript 对象,因为我们还没有调用 JSON.parse() 将 json 数据转换为 JavaScript 对象。
function fetchData() {
fetch(`https://sv443.net/jokeapi/v2/joke/Any?type=single&idRange=${id}`)
.then((response) => response.json())
.then((jsonData) => {setJoke(jsonData);console.log(jsonData)});
}
控制台日志输出:
{category: "编程",jokeType: "single"}
控制台日志预期输出:
{"category": "Programming","jokeType": "single"}
【问题讨论】:
-
因为这就是规范的规定?这是一个将响应视为 JSON 并为您解析的请求。 developer.mozilla.org/en-US/docs/Web/API/Body/json
标签: javascript json reactjs