javascript - 语法错误: Unexpected token Q

标签 javascript

在 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/

相关文章:

javascript - 在 React 中渲染 wordcloud

javascript - 如何在 Angularjs 中的主详细信息中设置唯一值

javascript - 从 serverless.yml 中引用函数

javascript - 粘贴后是否有事件发生?

javascript - JQuery PreventDefault 不适用于 .on click

javascript - 如何从 extjs 中的 json 为嵌套组合框创建数组

javascript - Bing map 在多边形上尝试 PixelToLocation

javascript - jQuery,寻找一种更智能的初始化方式

javascript - 警告 : React. createElement : type is invalid -- bundle. js

javascript - 如何在 javascript 中使用本地镜像?