javascript - Vue.js - 如何逐个对象获取 JSON 数据?

标签 javascript json vue.js vuejs2

我有一个很大的 JSON 文件 (40 MB),其中包含有关国家/地区的信息、他们的 ID,最后是我需要得到它的总数的总和。

{
        "0": {
                "id": 0,
                "country": "usa",
                "sum": 201,
        },
        "1": {
                "id": 1,
                "country": "fr",
                "sum": 133,

        }
}

当我尝试将此数据提取到一个变量中时,它工作正常但消耗了太多内存,所以我想读取这些国家/地区对象的唯一总和字段,然后计算总和。我该怎么做?

我正在使用以下代码获取整个 JSON:

fetch(fetchURL)
    .then(response => response.json())
    .then(responseJSON => {
        this.json_data = responseJSON;
    })
    .catch(error => {
        console.log(error);
    });

responseJSON.sum 不起作用,我认为它需要索引,但我无法在获取中做到这一点。

最佳答案

我不确定是否完全理解你想做什么:要么得到一个只有 sum 属性的数组,因为你的 responseJSON 太大了,要么得到实际的所有 sum 变量的总和。

下面是一段可能有用的代码:

var countries = [
 {
   "id": 0,
   "country": "usa",
   "sum": 201,
 },
 {
   "id": 1,
   "country": "fr",
   "sum": 133,
 }
];

var totalSum = 0;

var sumArray = countries.map(function(country) {
  totalSum = totalSum + country.sum;
  return country.sum;
});

在这部分代码中,我使用 javascript 映射函数获取一个包含所有 sum 变量的数组。我还用 totalSum 变量计算了 sum 变量的总和。

如果您只需要获取sum 变量的总和,我宁愿推荐使用forEach javascript 函数而不是map函数。

希望这会有所帮助...

关于javascript - Vue.js - 如何逐个对象获取 JSON 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53946744/

相关文章:

javascript - ajax 请求后新添加的按钮没有运行他应该运行的事件

javascript - 如何在每个时间段执行一个功能?

javascript - 检查/取消检查父节点时获取 jsTree 中的检查节点

javascript - 将 cookie 传递给 fetch 调用

vue.js - vuejs [v-cloak] css 规则将我的内容隐藏在 sailsjs 中

vue.js - Vue 最佳实践, Prop 对象或原始类型?

java - 如何阻止 Java 将作为命令行参数传递的 JSON 字符串分离到 args[] 的单独子单元中

python - python 从json数组中删除多余的键值

java - 使用 FasterXML Jackson 将字符串转换为整数

vue.js - 将弹出模式添加到 vuetify vue.js