[英]How do i resolve this error “ SyntaxError: Unexpected token < in JSON at position 0”
[英]How to resolve unexpected token error when you have two lines in json?
我從服務器上下載了要下載到文件中的內容,所以當我有多行json我無法下載文件時,我得到了意外的令牌,我相信此異常是由於換行符引起的,如何解決此問題?
來自服務器的數據
{"level":"info","message":"Test Log messages"}
{"level":"info","message":"Test Log messages"}
{"level":"info","message":"Test Log messages"}
ctrl.js
$scope.downloadFile = function(message){
DitFactory.getFile(message).then(function(response,$window){
var data = JSON.stringify(response.data);
var blob = new Blob([data], { type: 'text/plain;charset=utf-8' });
FileSaver.saveAs(blob, 'text.txt');
console.log(response);
});
};
錯誤
angular.js:13708 SyntaxError: Unexpected token { in JSON at position 49
at Object.parse (native)
at fromJson
有效的json響應應如下所示:
[
{"level":"info","message":"Test Log messages"},
{"level":"info","message":"Test Log messages"},
{"level":"info","message":"Test Log messages"}
]
更改服務器響應以返回有效值。
否則 ,在這種情況下,解析響應如下:
var response = '{"level":"info","message":"Test Log messages"}\n{"level":"info","message":"Test Log messages"}\n{"level":"info","message":"Test Log messages"}';
var items = response.split('\n');
items = items.filter(function(item) {
return item
})
.map(function(item) {
return angular.fromJson(item);
});
console.log(items);
在線演示-https: //plnkr.co/edit/H3tcxWqMUFep4n3LSt1C?p=preview
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.