首页 >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
Linda Hamilton原创
2024-11-01 13:34:02595浏览

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

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn