jQuery.parseJSON()


jQuery.parseJSON( json )返回: 字符串数字对象数组布尔值已弃用版本: 3.0,已移除版本: 4.0

描述: 接受一个格式良好的 JSON 字符串并返回相应的 JavaScript 值。

从 jQuery 3.0 开始,$.parseJSON 已弃用。要解析 JSON 字符串,请改用原生的 JSON.parse 方法。

传入格式错误的 JSON 字符串会导致抛出 JavaScript 异常。例如,以下都是无效的 JSON 字符串

  • "{test: 1}" (test 没有用双引号括起来)。
  • "{'test': 1}" ('test' 使用的是单引号而不是双引号)。
  • "'test'" ('test' 使用的是单引号而不是双引号)。
  • ".1" (数字必须以数字开头;"0.1" 将是有效的)。
  • "undefined" (undefined 不能在 JSON 字符串中表示;然而,null 可以)。
  • "NaN" (NaN 不能在 JSON 字符串中表示;Infinity 的直接表示也不允许)。

JSON 标准不允许“控制字符”,例如制表符或换行符。像 $.parseJSON( '{ "testing":"1\t2\n3" }' ) 这样的示例在大多数实现中会抛出错误,因为 JavaScript 解析器会将字符串的制表符和换行符转义符转换为字面上的制表符和换行符;双倍反斜杠,例如 "1\\t2\\n3" 会产生预期结果。当从服务器端语言(例如 PHP)将 JSON 注入到 JavaScript 文件中时,经常会出现此问题。

如果浏览器提供了 JSON.parse 的原生实现,jQuery 将使用它来解析字符串。有关 JSON 格式的详细信息,请参阅 https://json.js.cn/

在 jQuery 1.9 之前,如果 $.parseJSON 传入空字符串、nullundefined,它会返回 null 而不是抛出错误,尽管这些都不是有效的 JSON。

示例

解析 JSON 字符串。

1
2
var obj = jQuery.parseJSON( '{ "name": "John" }' );
alert( obj.name === "John" );