原文:jQuery方法扩展:type, toJSON, evalJSON. http://zhkac.iteye.com/blog/499330 .2013-05-19

(function($) {
// the code of this function is from
// http://lucassmith.name/pub/typeof.html
$.type = function(o) {
var _toS = Object.prototype.toString;
var _types = {
'undefined': 'undefined',
'number': 'number',
'boolean': 'boolean',
'string': 'string',
'[object Function]': 'function',
'[object RegExp]': 'regexp',
'[object Array]': 'array',
'[object Date]': 'date',
'[object Error]': 'error'
};
return _types[typeof o] || _types[_toS.call(o)] || (o ? 'object' : 'null');
};
// the code of these two functions is from mootools
// http://mootools.net
var $specialChars = { '\b': '\\b', '\t': '\\t', '\n': '\\n', '\f': '\\f', '\r': '\\r', '"': '\\"', '\\': '\\\\' };
var $replaceChars = function(chr) {
return $specialChars[chr] || '\\u00' + Math.floor(chr.charCodeAt() / 16).toString(16) + (chr.charCodeAt() % 16).toString(16);
};
$.toJSON = function(o) {
var s = [];
switch ($.type(o)) {
case 'undefined':
return 'undefined';
break;
case 'null':
return 'null';
break;
case 'number':
case 'boolean':
case 'date':
case 'function':
return o.toString();
break;
case 'string':
return '"' + o.replace(/[\x00-\x1f\\"]/g, $replaceChars) + '"';
break;
case 'array':
for (var i = 0, l = o.length; i < l; i++) {
s.push($.toJSON(o[i]));
}
return '[' + s.join(',') + ']';
break;
case 'error':
case 'object':
for (var p in o) {
s.push(p + ':' + $.toJSON(o[p]));
}
return '{' + s.join(',') + '}';
break;
default:
return '';
break;
}
};
$.evalJSON = function(s) {
if ($.type(s) != 'string' || !s.length) return null;
return eval('(' + s + ')');
};
})(jQuery);

array2json的更多相关文章

  1. array2json() - Convert PHP arrays to JSON

    array2json is a PHP function that will convert the array given as its argument into a JSON string. T ...

  2. JsonUtil

    package com.test.base.util.json; import java.beans.IntrospectionException; import java.beans.Introsp ...

  3. 构造Json对象串工具类

    import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.Property ...

  4. JSON入门教程

    尽管有许多宣传关于 XML 如何拥有跨平台,跨语言的优势,然而,除非应用于 Web Services,否则,在普通的 Web 应用中,开发者经常为 XML 的解析伤透了脑筋,无论是服务器端生成或处理 ...

  5. [转]fastjson

    原文地址:http://www.cnblogs.com/zhenmingliu/archive/2011/12/29/2305775.html FastJSON是一个很好的java开源json工具类库 ...

  6. [转]JSON 入门指南

    原文地址:http://www.ibm.com/developerworks/cn/web/wa-lo-json/ 尽管有许多宣传关于 XML 如何拥有跨平台,跨语言的优势,然而,除非应用于 Web ...

  7. Json Utils

    import java.util.List;import java.util.Map; import net.sf.json.JSONArray;import net.sf.json.JSONObje ...

  8. FastJSON 简介及其Map/JSON/String 互转

    在日志解析,前后端数据传输交互中,经常会遇到 String 与 map.json.xml 等格式相互转换与解析的场景,其中 json 基本成为了跨语言.跨前后端的事实上的标准数据交互格式.应该来说各个 ...

  9. Java将其他数据格式转换成json字符串格式

    package com.wangbo.util; import java.beans.IntrospectionException; import java.beans.Introspector; i ...

随机推荐

  1. CSS3 Media Queries 详细介绍与使用方法[转]

    Media Queries 就是要在支援CSS3 的浏览器中才能正常工作,IE8 以下不支援. 而Media Queries 的套用方法千变万化,要套用在什么样的装置中,都可以自己来定义. 关于Med ...

  2. poj 1260 Pearls 斜率优化dp

    这个题目数据量很小,但是满足斜率优化的条件,可以用斜率优化dp来做. 要注意的地方,0也是一个决策点. #include <iostream> #include <cstdio> ...

  3. SSIS无法在unicode和非unicode 字符串数据类型之间转换

    场景:SSIS从oracle抽到sqlserver,一个表对表到数据仓库ODS层的抽取,没有任何逻辑结果遇到问题: SSIS无法在unicode和非unicode 字符串数据类型之间转换 如下图2个字 ...

  4. 给你的webstorm添加快速生成注释得快捷键

    打开File----setting-map-搜搜"fix doc"

  5. x为正变数,求y=x^3/(x^4+4)的最大值

    设z=1/y=x4+4/x3 显然,当z有最小值时,y有最大值,求得zmin,就得到了ymax 而z=x+4/x3=x/3+x/3+x/3+4/x3 根据正实数算术平均数大于等于它们的几何平均数的定理 ...

  6. haproxy综合

    常见问题:haproxy启动报错Starting proxy : cannot bind socket?答:查看haproxy.conf配置文件发现其监听80跟apache冲突,而apache没在使用 ...

  7. Web版RSS阅读器(五)——初步完成阅读功能

    上一篇博文<Web版RSS阅读器(四)——定制自己的Rss解析库myrsslib4j>中,已经分享给大家制作自己的rss解析库.稍微有点遗憾的是,它仅仅支持rss格式的博客.现在给大家分享 ...

  8. UNIX网络编程读书笔记:字节操纵函数

    #include <strings.h> void bzero(void *dest, size_t nbytes); void bcopy(const void *src, void * ...

  9. DAS存储未死,再次欲获重生

    当我们回想存储发展形态时.我们会想到DAS是最原始最主要的存储方式,在个人电脑.server等低端市场和场景上随处可见. 存储的原始形态也来自于DAS,常见的用于连接DAS和主机系统的协议/标准主要 ...

  10. 使用SimHash进行海量文本去重

    阅读目录 1. SimHash与传统hash函数的区别 2. SimHash算法思想 3. SimHash流程实现 4. SimHash签名距离计算 5. SimHash存储和索引 6. SimHas ...