为了账号安全,请及时绑定邮箱和手机立即绑定

解析JSON串的时候有替代JSON.parse的其他方案么

解析JSON串的时候有替代JSON.parse的其他方案么

慕斯王 2019-08-03 10:03:31
解析JSON串的时候有替代JSON.parse的其他方案么
查看完整描述

3 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

jQuery.parseJSON()函数用于将格式完好的JSON字符串转为与之对应的JavaScript对象。
所谓"格式完好",就是要求指定的字符串必须符合严格的JSON格式,例如:属性名称必须加双引号、字符串值也必须用双引号。
如果传入一个格式不"完好"的JSON字符串将抛出一个JS异常,例如:以下字符串均符合JSON格式,但它们不是格式完好的JSON字符串(因此会抛出异常):
// 以下均是字符串值,省略了两侧的引号,以便于展现内容

{id: 1} // id是属性名称,必须加双引号
{'id': 1} // id是属性名称,必须用双引号(不能用单引号)
{"name": 'CodePlayer'} // name属性的值是字符串,必须用双引号(不能用单引号)
JSON标准不允许字符串中出现"控制字符",例如:一个Tab或换行符。
$.parseJSON('{"name": "Code\tPlayer\n"}'); // 多数情况下,它会抛出一个错误,因为JS解析器会将字符串中的\t或\n等转义直接视作字面值,起到Tab或换行的效果。

//正确写法应该如下(使用两个反斜杠,以免被JS解析器直接转义\t或\n):
$.parseJSON('{"name": "Code\\tPlayer\\n"}');
如果浏览器提供了一个本地的JSON.parse()方法,则jQuery将使用它来解析JSON字符串。
在jQuery 1.9之前(不含1.9):如果传入一个空字符串、null或undefined,该函数将返回null,而不是抛出一个错误,即使它不是有效的JSON字符串。
该函数属于全局的jQuery对象。


查看完整回答
反对 回复 2019-08-05
  • 3 回答
  • 0 关注
  • 1242 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信