为什么我无法从Testing框架中的有效JSON文件解析Object结构

时间:2016-01-28 17:39:50

标签: jquery angularjs json

所有

我将对象结构保存为JSON,如:

myjson.json

{
  "name":"hello",
  "attr":{
    "a1":"a1",
    "a2":"a2"
  },
  "attrArray": [1,2,3,4]
}

然后当我使用jQuery或Angular来获取它时,我总是得到如下错误:

$.get("myjson.json").done(function(data){});
$http.get("myjson.json").then(function(data){})

Uncaught SyntaxError: Unexpected token :

现在,使其工作的唯一方法是使用以下数组包装此对象:

[{
  "name":"hello",
  "attr":{
    "a1":"a1",
    "a2":"a2"
  },
  "attrArray": [1,2,3,4]
}]

但我真的很想知道如何让他们识别这种对象样式的JSON格式并解析它

注意:以上所有内容都在Karma测试中,如果我只使用那些没有测试框架的代码,那么一切正常

2 个答案:

答案 0 :(得分:1)

尝试使用angular:

添加responseType选项
$http.get('myjson.json', {responseType: 'json'}).then(function(response) {});

答案 1 :(得分:0)

您的服务器应将文件作为内容类型application/json发送,您也可以尝试使用$.getJSON代替$.get