首页 > web前端 > js教程 > 以下是几个根据你提供的文章内容生成的英文问答类标题: 1. Why does jQuery.parseJSON() throw an \'Invalid JSON\' error when there are escaped single quotes in the JSON? 2. Is it allowed to escape single quotes in a JSO

以下是几个根据你提供的文章内容生成的英文问答类标题: 1. Why does jQuery.parseJSON() throw an \'Invalid JSON\' error when there are escaped single quotes in the JSON? 2. Is it allowed to escape single quotes in a JSO

Linda Hamilton
发布: 2024-11-01 13:34:02
原创
597 人浏览过

以下是几个根据你提供的文章内容生成的英文问答类标题:

1. Why does jQuery.parseJSON() throw an

jQuery.parseJSON抛出“无效的JSON”错误,原因是JSON中转义单引号

jQuery.parseJSON()无法解析包含转义单引号的有效JSON字符串。这是正常的,因为JSON规范只允许转义双引号。

JSON规范

如下图示,JSON状态机图表示只允许转义双引号,不允许单引号。

[图片:JSON状态机]

JSON实现

尽管规范不允许转义单引号,但一些JSON实现可能会接受它们。例如,org.json for Java允许单引号,而jQuery使用的json2.js则遵循规范,不允许。

jQuery.parseJSON

jQuery.parseJSON首先尝试使用浏览器原生JSON解析器或json2.js,因此它只允许与底层实现一样宽松。由于json2.js遵从规范,因此jQuery也不允许单引号。

parseJSON: function( data ) {
    ...

    // Attempt to parse using the native JSON parser first
    if ( window.JSON && window.JSON.parse ) {
        return window.JSON.parse( data );
    }

    ...

    jQuery.error( "Invalid JSON: " + data );
},
登录后复制

结论

为了避免使用jQuery.parseJSON解析时出错,避免在JSON字符串中使用单引号,或者转而使用接受单引号实现的JSON库。

以上是以下是几个根据你提供的文章内容生成的英文问答类标题: 1. Why does jQuery.parseJSON() throw an \'Invalid JSON\' error when there are escaped single quotes in the JSON? 2. Is it allowed to escape single quotes in a JSO的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板