我有一些看起来像这样的JSON:
[
{
_id: ObjectId("544809736654daf1ea897ca"),
project: "demo",
tools: ['ajax', 'javascript', 'html'],
},
{
_id: ObjectId("322148965654daf1ea81ca"),
project: "trial",
tools: ['haskell'],
}
]
我已将其保存在名为items
的文件中。
我尝试使用以下代码将其导入我的Angular项目:
app.service("getItemsService",
function($http, $q){
return {
getItems: function getItems(){
return $http.get('data/_items').success(function(data){
return data;
});
}
}
}
);
但是当我这样做时,我得到一个错误说:
SyntaxError: Unexpected token _
at Object.parse (native)
我已经尝试了一切我能想到的解决方法 - 即我已将文件命名为items.json
,我将_id
更改为id
,我&#39 ;尝试将{'Content-Type': 'application/json'}
添加到get()
函数作为参数来指示其JSON。
没有什么工作!有什么提示吗?
答案 0 :(得分:3)
你的角度服务似乎很好。这是你的" JSON"未格式化为常规JSON字符串的内容文件:
{}
或数组[]
请改为尝试:
[
{
"_id": "544809736654daf1ea897ca",
"project": "demo",
"tools": ["ajax", "javascript", "html"]
},
{
"_id": "322148965654daf1ea81ca",
"project": "trial",
"tools": ["haskell"]
}
]
答案 1 :(得分:1)
总是在像http://jsonlint.com/这样的问题中尝试使用JSON 它会告诉你
Parse error on line 2:
[ { _id: ObjectId("54480
--------------^
Expecting 'STRING', '}'
这有点不那么神秘:它告诉你_id不是String =>你错过了"
之后会告诉你:
Parse error on line 3:
... { "_id": ObjectId("5448097366
----------------------^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['
ObjectId对JSON无效,您必须找到其他内容,例如只有id或者字符串中的所有内容:
[
{
"_id": "544809736654daf1ea897ca",
"project": "demo",
"tools": [
'ajax',
'javascript',
'html'
],
},
{
"_id": "322148965654daf1ea81ca",
"project": "trial",
"tools": [
'haskell'
],
}
]
但是,嘿,它没有完成:
Parse error on line 5:
...ols": [ 'ajax',
----------------------^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '[', ']'
是的,'无效,一些解析器实际上单引号失败。
[
{
"_id": "544809736654daf1ea897ca",
"project": "demo",
"tools": [
"ajax",
"javascript",
"html"
],
},
{
"_id": "322148965654daf1ea81ca",
"project": "trial",
"tools": [
"haskell"
],
}
]
仍然没有:
Parse error on line 9:
... ], }, { "_i
---------------------^
Expecting 'STRING'
似乎第9行周围存在问题,如果你仔细观察,你会看到一个没有任何背后的东西,让我们删除无用的,
[
{
"_id": "544809736654daf1ea897ca",
"project": "demo",
"tools": [
"ajax",
"javascript",
"html"
]
},
{
"_id": "322148965654daf1ea81ca",
"project": "trial",
"tools": [
"haskell"
]
}
]
就在这里!