jquery工具方法parseJSON
error : 自定义错误
parseJSON : 字符串转json
trim : 去除字符串头尾空字符
parseJSON方法先判断参数是否为字符串,否则返回空对象,再去除字符串头尾空字符,判断是否支持window.JSON.parse,否则使用json2.js中的方法。
var core_trim = String.prototype.trim,// Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE)rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,// JSON RegExprvalidchars = /^[\],:{}\s]*$/,rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g,rvalidescape = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,rvalidtokens = /"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g;jQuery.extend({......................error: function( msg ) {throw new Error( msg );},parseJSON: function( data ) {if ( !data || typeof data !== "string") {return null;}// Make sure leading/trailing whitespace is removed (IE can't handle it)data = jQuery.trim( data );// Attempt to parse using the native JSON parser firstif ( window.JSON && window.JSON.parse ) {return window.JSON.parse( data );}// Make sure the incoming data is actual JSON// Logic borrowed from http://json.org/json2.jsif ( rvalidchars.test( data.replace( rvalidescape, "@" ).replace( rvalidtokens, "]" ).replace( rvalidbraces, "")) ) {return ( new Function( "return " + data ) )();}jQuery.error( "Invalid JSON: " + data );},// Use native String.trim function wherever possibletrim: core_trim && !core_trim.call("\uFEFF\xA0") ?function( text ) {return text == null ?"" :core_trim.call( text );} :// Otherwise use our own trimming functionalityfunction( text ) {return text == null ?"" :( text + "" ).replace( rtrim, "" );},...............});
转载于:https://www.cnblogs.com/gongshunkai/p/5902078.html
jquery工具方法parseJSON相关推荐
- jQuery$工具方法及其属性
---目录--- 1.jQuery工具方法: 2.jQuery属性: 3.jQuery隔行换色案例: 4.jQuery全选功能案例: 一.$工具方法 1.1 我们来看看用$工具方法[$.each()] ...
- jQuery工具方法
目录 常用工具方法 判断数据类型的方法 Ajax操作 $.ajax 简便写法 Ajax事件 返回值 JSONP 文件上传 参考链接 jQuery函数库提供了一个jQuery对象(简写为$),这个对象本 ...
- jQuery 工具方法 (全)
下面是对jQuery中工具方法的整理,希望可以帮助到有需要的小伙伴. 一.类数组对象 1.length属性 length属性 - 获取当前jQuery对象中包含DOM对象的个数 实例: <!DO ...
- jQuery笔记之工具方法extend插件扩展
jQuery工具方法 $.extend()插件扩展(工具方法) $.fn.extend()插件扩展(实例方法) 浅度克隆.深度克隆 两个方法基本是一样的,唯一不同的就是调用方式不一样 -------- ...
- jQuery常用工具方法
前面的话 jQuery提供一些与元素无关的工具方法,不必选中元素,就可以直接使用这些方法.如果理解原生javascript的继承原理,那么就能理解工具方法的实质.它是定义在jQuery构造函数上的方法 ...
- jQuery的$工具方法和属性
目录 一.思维导图 一.jQuery的$工具方法 二 .jQuery属性和CSS 一.思维导图 我是小陽,欢迎大家来看我的文章.我们先看一下思维导图来理一下思路,然后在进入方法讲解 一.jQuery的 ...
- JQuery操作类数组的工具方法
JQuery学习之操作类数组的工具方法 在很多时候,JQuery的$()函数都返回一个类似数据的JQuery对象,例如$('div')将返回div里面的所有div元素包装的JQuery对象.在这中情况 ...
- 第三章:JQuery基础---核心函数选择器、工具方法
一:是什么?以及作用 定义:有特定语法规则(css选择器)的字符串 作用:用来查找某个/些DOM元素: $(selector) 二:基本选择器(最基本最常用的选择器) id选择器:#id ...
- jQuery本身方法($.each,$.map,$.contains,$ajax)
常用工具方法 (1)$.trim $.trim方法用于移除字符串头部和尾部多余的空格. $.trim(' Hello ') // Hello (2)$.contains $.contains方法返回一 ...
最新文章
- ORM读取web.config中的数据库连接字符串
- 已知先序遍历和中序遍历,输出他的后序遍历序列.
- linux arecord 命令,如何使用arecord录音
- 中小微企业谋定发展-国情讲坛·周荣江: 破解民营经济融资难
- 进程P1、P2、P3、P4和P5的前趋图如下图所示。若用PV操作控制进程P1~P5并发执行的过程,则需要设置6个信号S1、S2、S3、S4,且信号量S1~S4的初值都等于0。下图中a和b处应分别填写(
- 95-138-010-源码-Function-AggregateFunction
- (万里开源)greatdb mysql 8.0以上版本创建用户并授权远程连接
- 开奖|1024中奖名单公布以及Postman资料分享
- Java中J.U.C扩展组件之Fork,join
- SQLserver nText和varchar 不兼容
- vue package.json 解析
- flutter html 加载_实操 | 在 Flutter 中创建通信桥
- 微信支付获取用户真实ip
- Python学习笔记-2017.5.4thon学习笔记-2017.5.19
- Word设置默认粘贴格式,自动更改粘贴格式
- 火车售票系统(设计模式分析)
- 怎样用MATLAB画二次函数曲线,matlab画二次函数图像
- scrapy爬虫之爬取百度手机助手app信息并保存至mongodb数据库(附源码)
- C语言goto语句 做一个自动关机小程序 —— 给小伙伴来个“恶作剧”吧
- 《支付系统-3交易系统》