函数参数从不让参数在JSON解析中使用

时间:2019-02-28 11:15:25

标签: javascript json

我正在检查代码并对其进行整理,以使其更易于理解。在我的代码中,我在不同的位置解析了相同的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解析以返回所需的数据?

1 个答案:

答案 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?