首页 > 解决方案 > 解析数据和获取特定对象时未定义

问题描述

我正在使用传单 1.7.1 并成功地从我的机器的本地内存中加载了 JSON 文件。我有一个看起来像这样的对象:

covid = {"AFG":{"continent":"Asia","location":"Afghanistan","population":38928341.0,"population_density":54.422,"median_age":18.6},
"KOR":{"continent":"Asia","location":"Afghanistan","population":38928341.0,"population_density":54.422,"median_age":18.6},
"KGZ":{"continent":"Asia","location":"Afghanistan","population":38928341.0,"population_density":54.422,"median_age":18.6},
....} 

我想做的是通过 ISO 国家代码(例如 KOR、KGZ 等)获取国家/地区。 即使在转换为目标文件后,我也无法通过像 covid[0] 这样的索引获得,但它不起作用。我是 JS 新手,无法真正处理数据。

标签: javascriptjsonparsing

解决方案


请注意,它不称为 JavaScript 数组表示法,而是 JavaScript对象表示法。

问题:covid不是数组。它是一个对象。这是一个伟大的阅读。要解决您的问题,请参考实际名称。

要在您的项目中使用它,您可以遍历对象并像这样使用它:

for (let isoCountryName in covid) {
  console.log(`${isoCountryName}`);
}

这是一个演示:

var covid = {"AFG":{"continent":"Asia","location":"Afghanistan","population":38928341.0,"population_density":54.422,"median_age":18.6},
"KOR":{"continent":"Asia","location":"Afghanistan","population":38928341.0,"population_density":54.422,"median_age":18.6},
"KGZ":{"continent":"Asia","location":"Afghanistan","population":38928341.0,"population_density":54.422,"median_age":18.6}};
for (let isoCountryName in covid) {
  console.log(`ISO country name: ${isoCountryName}`);
}


推荐阅读