0
在我angularjs應用我收到來自API這個JSON - :在Object.parse(原生)意外令牌'Angularjs:無法解析JSON用單引號
[
{
'Foo': 'bar'
}
]
不幸的SyntaxError
有沒有什麼辦法可以在不改變API的情況下修復這個客戶端?
在我angularjs應用我收到來自API這個JSON - :在Object.parse(原生)意外令牌'Angularjs:無法解析JSON用單引號
[
{
'Foo': 'bar'
}
]
不幸的SyntaxError
有沒有什麼辦法可以在不改變API的情況下修復這個客戶端?
這不是JSON。這是類似JSON的,但JSON requires字符串和屬性鍵是雙引號,而不是單引號。
所以答案是:糾正API。如果你不控制它,告訴控制它的人是錯的。
如果你絕對需要支持那個破壞的響應,你可以看看修改Crockford的一個JSON parsers,使它支持單引號的鍵和字符串,這應該不是很難。或者你可以使用PEG.js來生成你自己的解析器(可能從他們的JavaScript解析器開始),但這會更有效。
你會得到別人告訴你,你可以分析與eval
,這是真的,你可以:
// LAST RESORT
var data = eval("(" + response + ")");
...但是請注意,eval
將在響應運行的任意代碼,它不僅僅解析數據結構。所以你必須完全信任API不發回惡意的東西,跟蹤你的用戶的東西等。