无法从 JavaScript 中的 JSON 文件获取具有日期格式的对象 [重复]

Posted

技术标签:

【中文标题】无法从 JavaScript 中的 JSON 文件获取具有日期格式的对象 [重复]【英文标题】:Unable to get object with date format from JSON file in JavaScript [duplicate] 【发布时间】:2022-01-16 21:23:56 【问题描述】:

我正在使用 javascript 进行一项活动,我必须调用外部 API 并获取其中包含的信息,JSON 文件结构是下一个:

"dates": 
    "2020-03-22": 
        "countries": 

问题在于,当我获得信息时,我将其放入名为“info”的变量中并到达日期营地,我已将日期文本放入另一个变量中以与前一个对象连接,但问题是返回“未定义”值。

这是我为获取信息而编写的代码:

function callAPI() 
    var xmlhttp = new XMLHttpRequest();

    xmlhttp.onreadystatechange = function() 
        if(this.readyState == 4 && this.status == 200)
            var info = JSON.parse(this.responseText);
            var dateApi = "2020-03-22";

            console.log(info.dates.dateApi);
        
    
    xmlhttp.open("GET", "https://api.covid19tracking.narrativa.com/api/2020-03-22/country/spain");
    xmlhttp.send();

【问题讨论】:

您需要info.dates[dateApi],因此使用该值而不是文字“dateApi”键。 复制:JavaScript property access: dot notation vs. brackets? 【参考方案1】:

将 info.dates.dateApi 代码更改为 info.dates[dateApi] 这应该可以工作

function callAPI() 
    var xmlhttp = new XMLHttpRequest();

    xmlhttp.onreadystatechange = function() 
        if(this.readyState == 4 && this.status == 200)
            var info = JSON.parse(this.responseText);
            var dateApi = "2020-03-22";

            console.log(info.dates[dateApi]);
        
    
    xmlhttp.open("GET", "https://api.covid19tracking.narrativa.com/api/2020-03-22/country/spain");
    xmlhttp.send();

【讨论】:

以上是关于无法从 JavaScript 中的 JSON 文件获取具有日期格式的对象 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Snowpack 无法从 node_modules 导入 JavaScript

单击仅使用 JavaScript 从 JSON 获取的表数据中的按钮时引用特定行

从JavaScript ES6中的文件夹导入所有json文件[重复]

从 Javascript 中的 url 获取 JSON 文件,React Native

如何使用从 javascript/html 中的外部 php 文件中提取的 JSON 数据?

如何从 JSON 文件读入 JavaScript? [复制]