我正在检查代码并对其进行整理,以使其更易于理解。在我的代码中,我在不同的位置解析了相同的JSON,以从JSON获取不同的数据。
我想创建一个我调用的函数,并传递一个参数,它将从JSON返回信息。
我的JSON看起来像这样:
{
"Date": "11:10:02 28-02-19",
"Number1": 2031,
}
我要使用的功能是这样:
function dataJson(key) {
fetch("http://file/location/data.json?newversion") // supported in modern browsers.
.then(res => res.json()) // parses into JSON. Fails if given improper json
.then(data => {
return data.key;
})
}
并且我正在脚本中调用它,例如:
dataJson(Date);
它应该返回11:10:02 28-02-19
,但出现错误
未捕获的ReferenceError:日期未定义
在VS Code中,它告诉我key
已声明但从未读取。当我在脚本中包含此代码时,我将只使用data.Date
,它将返回我想要的内容。
如何调用带有参数的函数并将参数传递给JSON解析以返回所需的数据?
答案 0 :(得分:2)
未捕获的ReferenceError:日期未定义
Date
是变量名。您需要一个字符串。 "Date"
。
在VS Code中,它告诉我密钥已声明但从未读取。
.key
没有引用变量。另请参阅:Dynamically access object property using variable
NB:dataJson
没有return
语句,因此不会返回任何内容。另请参见How do I return the response from an asynchronous call?。