Javascript jQuery中的正则表达式挡板(1.5.2)
在发出jQuery AJAX请求后,我得到了一个“无效JSON”。这个请求代码并不重要,所以我选择省略它 我深入研究了jQuery库,并剥离了相关代码,这些代码汇总到下面的代码片段中 那么,既然我的请求返回一个字符串“Javascript jQuery中的正则表达式挡板(1.5.2),javascript,jquery,regex,json,Javascript,Jquery,Regex,Json,在发出jQuery AJAX请求后,我得到了一个“无效JSON”。这个请求代码并不重要,所以我选择省略它 我深入研究了jQuery库,并剥离了相关代码,这些代码汇总到下面的代码片段中 那么,既然我的请求返回一个字符串“{'x':'1'}”,为什么在处理它的过程中,jQuery应该返回“{'x':']}” 你可以在 此外,还会发生以下转换: '{x:12}' --> '{x:]}' '{"x":"12"}' --> '{],]}' 我猜有人可以向我解释为什么正则表达式会这样做,但我也
{'x':'1'}
”,为什么在处理它的过程中,jQuery应该返回“{'x':']}
”
你可以在
此外,还会发生以下转换:
'{x:12}' --> '{x:]}'
'{"x":"12"}' --> '{],]}'
我猜有人可以向我解释为什么正则表达式会这样做,但我也很好奇jQuery为什么会这样做
如果您有任何帮助,我们将不胜感激。您的JSON字符串格式不正确,原因如下:
您必须使用双引号,您的JSON字符串的格式不正确,原因如下:
您必须使用双引号从外观上看,jQuery正在用']'替换任何无效的JSON标记。有些东西,如“null”、“true”、“false”等可以不加引号地插入。事实上,数字也可以 您的JSON无效,因为您需要双引号值。因此,要么:
{"x": 1}
或
应该有用。您复制的代码仍然会破坏这一点,但是通过jQuery.parseJSON()将其抛出对我来说很好。从外观上看,jQuery正在用']'替换任何无效的JSON标记。有些东西,如“null”、“true”、“false”等可以不加引号地插入。事实上,数字也可以 您的JSON无效,因为您需要双引号值。因此,要么:
{"x": 1}
或
应该有用。您复制的代码仍然会破坏这一点,但是通过jQuery.parseJSON()将其抛出对我来说很好。谢谢您的建议。我想我一定在做傻事。使用格式正确的JSON,一切都很好。我想我一定在做傻事。使用格式正确的JSON,一切都很好
{"x": "1"}