创建时无法将json数组转换为js数组

时间:2019-04-07 21:20:27

标签: javascript json vue.js

我知道这个问题已经被问过多次了,我已经找到并遵循了这些答案,但是没有成功。

摘要:我需要从classes.json文件中获取数组,然后将classes中的变量data()设置为该json data。 / p>

这是我需要从中加载数组的classes.json文件。

[{
    "School1": {
      "classTag": ["F1", "E2G", "E2E", "E2A"]
    }
  },
  {
    "School2": {
      "classTag": ["10BFTE", "11BFTE"]
    }
  }
]

这些是我尝试过的方法:

created() {
  // Load json to classes
  $.getJSON('../assets/classes.json', function(json) {
    for (var key in json) {
      if (json.hasOwnProperty(key)) {
        var item = json[key];
        this.classes.push({
          classTag: item.classTag
        });
      }
    }
  });

}

created() {
  $.getJSON('../assets/classes.json', function(data) {
    this.classes = data;
  }).error(function() {
    console.log('error: json not loaded');
  });

}

他们和其他人都给我这个错误: Vue Err Msg

1 个答案:

答案 0 :(得分:0)

似乎您尝试在vue-app中调用jquery方法,但是jquery($)不在您的项目/范围内。尝试执行以下操作:a)包含jquery(不推荐使用,仅一个函数调用就有点膨胀)或纯js。

您可能想研究一个更轻量级的框架来进行诸如axios之类的ajax调用。

edit:或者,如评论所述,现代浏览器的内置访存方法。