我在解析json
之后遇到了问题"name.regex" : "/^\s*.{1,500}\s*$/"
我收到以下异常
Uncaught SyntaxError: Unexpected token ' in JSON at position 170
答案 0 :(得分:0)
我认为它是关于逃避炭 改为
"validate.name.expression" : "/^\\s*.{1,500}\\s*$/"
工作
答案 1 :(得分:0)
$a = array('<foo>',"'bar'",'"baz"','&blong&', "\xc3\xa9");
echo "Normal: ", json_encode($a), "\n";
echo "Tags: ", json_encode($a, JSON_HEX_TAG), "\n";
echo "Apos: ", json_encode($a, JSON_HEX_APOS), "\n";
echo "Quot: ", json_encode($a, JSON_HEX_QUOT), "\n";
echo "Amp: ", json_encode($a, JSON_HEX_AMP), "\n";
echo "Unicode: ", json_encode($a, JSON_UNESCAPED_UNICODE), "\n";
echo "All: ", json_encode($a, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE), "\n\n";
输出:
正常:[“”,“'bar'”,“\”baz \“”,“&amp; blong&amp;”,“\ u00e9”]
标签:[“\ u003Cfoo \ u003E”,“'bar'”,“\”baz \“”,“&amp; blong&amp;”,“\ u00e9”]
Apos:[“”,“\ u0027bar \ u0027”,“\”baz \“”,“&amp; blong&amp;”,“\ u00e9”]
Quot:[“”,“'bar'”,“\ u0022baz \ u0022”,“&amp; blong&amp;”,“\ u00e9”]
Amp:[“”,“'bar'”,“\”baz \“”,“\ u0026blong \ u0026”,“\ u00e9”]
Unicode:[“”,“'bar'”,“\”baz \“”,“&amp; blong&amp;”,“é”]
全部: [ “\ u003Cfoo \ u003E”, “\ u0027bar \ u0027”, “\ u0022baz \ u0022”, “\ u0026blong \ u0026”, “E”]
答案 2 :(得分:0)
"name.regex" : "/^\s*.{1,500}\s*$/"
无效JSON。如果这实际上是您要解析的内容,则需要将其放在一个块中以使其有效,然后将该块放在一个字符串中以传递到JSON.parse()
。
jsonStr = '{"name.regex" : "/^\s*.{1,500}\s*$/"}'
console.log(JSON.parse(jsonStr))
但是,我会假装你从一个假定有效的JSON字符串中间的某处复制粘贴的内容,然后回答问题。
错误发生在第170行,因为当编译器不再能够生成对其处理的字符的有效解释时。这并不一定意味着违规代码在第170行。
您可能在您尝试解析的字符串中的某个位置缺少'
或"
,或者甚至在调用JSON.parse()之前的代码块中。{/ p>
这是Chrome开发者控制台中成功解析的直接复制粘贴。
JSON.parse('{"name.regex": "/^\s*.{1,500}\s*$/"}')
>{name.regex: "/^s*.{1,500}s*$/"}
没有错误。所以这个bug在别处。
如aristotll的评论中所述,如果您仍然无法找到它,则应发布整个json字符串。