js对象转json字符串,并保留js对象中的javascript脚本
2016-01-28 14:43
666 查看
</pre><pre name="code" class="javascript">
/** * Created by shantao on 2016/2/1. */ /** * json对象转字符串 * * @param obj json对象 * @returns */ function obj2Str(obj) { switch (typeof (obj)) { case 'object': var ret = []; if (obj instanceof Array) { for ( var i = 0, len = obj.length; i < len; i++) { ret.push(obj2Str(obj[i])); } return '[' + ret.join(',') + ']'; } else if (obj instanceof RegExp) { return obj.toString(); } else { for ( var a in obj) { ret.push(a + ':' + obj2Str(obj[a])); } return '{' + ret.join(',') + '}'; } case 'function': return obj; case 'number': return obj.toString(); case 'string': return "\"" + obj.replace(/(\\|\")/g, "\\$1").replace(/\n|\r|\t/g, function(a) { return ("\n" == a) ? "\\n" : ("\r" == a) ? "\\r" : ("\t" == a) ? "\\t" : ""; }) + "\""; case 'boolean': return obj.toString(); default: return obj.toString(); } } /** * json对象转字符串 * * @param obj json对象 * @param needScript true|false 是否保留json对象中的javaScript脚本 */ function formatJsonObjToString(obj, needScript) { var resultString = ""; if (needScript) { resultString = obj2Str(obj); } else { resultString = JSON.stringify(obj); } return resultString; }
相关文章推荐
- HTML5 音频播放器-Javascript代码(短小精悍)
- js 跨域
- 俄罗斯方块Tetris (javascript+HTML+CSS)
- js event 2
- 探讨JavaScript语句的执行过程
- [JavaScript] 3.JS 语句
- JavaScript性能优化小知识总结
- javascript输出AscII码扩展集中的字符
- javascript十六进制数字和ASCII字符之间转换
- javascript ASCII和Hex互转
- Javascript复制实例详解
- js让下拉框和文本框联动
- JSONP
- 正则表达式 总结
- 【JSP】--重定向,转发--186 drp
- javascript高级程序设计第二章
- JavaScript 与 图片
- js 字符串转换成数字的三种方法
- Javascript面向对象编程(三):非构造函数的继承
- ConvnetJS源代码分析第二篇(补充)