我有一个隐藏的角色导致JSON解析失败。什么是正确转义字符串的最佳方法只是像这样的隐藏字符使我的json崩溃了?
这是代码,不可见的字符在“大脑”中的n和s之间,直到你删除那个不可见的字符JSON.parse()将失败...问题是,如何剥离不可见的字符?
var mystring='{"invis":"their brains process differently"}';
console.log("cool" + mystring);
console.log(JSON.parse(mystring));
注意我发现在上面的代码中实际删除了不可见的字符,但是它就在这里,如果要复制并粘贴以查看问题: See the code on pastie
答案 0 :(得分:2)
不知何故取消字符(0x18)进入你的字符串。您可以使用正则表达式替换它。
var mystring='{"invis":"their brains process differently"}';
mystring = mystring.replace( /\x18/g, "" );
console.log("cool" + mystring);
console.log(JSON.parse(mystring));
答案 1 :(得分:2)
我发现另一个JSON解析器没有与这些隐藏字符崩溃,它位于: