在 Chrome 控制台中使用此代码时出现错误
SyntaxError: Unexpected token Q
我需要的是使用 JSON.parse() 转换对象中的输入。
知道如何修复此错误吗?
var input = 'QR|BEGIN:VEVENT\r\nSUMMARY:Event test 18 APrile\r\nDTSTART:20130418T085900Z\r\nDTEND:20130418T105900Z\r\nLOCATION:Class 18\r\nDESCRIPTION:Desc 18 APrile\r\nEND:VEVENT';
var output = input.split(/\r\n/);
output = "{" + output + "}";
alert(output);
var outputJson = JSON.parse(output);
console.log(outputJson);
最佳答案
因为它不是 JSON根本不要将其解析为 JSON。操作方法如下:
var obj = {};
input.split("\r\n").forEach(function(t){
var nv = t.split(':');
obj[nv[0]]=nv[1];
});
Demonstration (点击“使用JS运行”并打开控制台)
(请注意,此代码需要a shim due to forEach才能在IE8上运行)
关于javascript - 语法错误: Unexpected token Q,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16077472/