[原创]用递归写的一个object 转换成JSON的函数
这段时间可把JavaScript学得透彻了,发现还是非常好用的。
我在网上找了很多这样的例子,发现都写的好多,总感觉应该是很简单的,想想应该用递归调用一下应该不难吧,后来自己试了一下还算不难,看来学好算法还是有好处的,呵呵(自夸一下)
利用了Javascript的反射机制(JavaScript真是太强了)与递归的算法很方便就把功能实现了。
好了,共享出来给大家做个参考:
本方法支持子对象,数组等多种形式。字符、数字、布尔型变量都可以识别。
{
if(o == null)
return 'null';
var s = '';
switch(typeof(o))
{
case 'object':
if(o.constructor == Array) // checks if it is an array [,,,]
{
for(var i=0; i<o.length; ++i)
{
s += json_from_object(o[i]);
if(i < o.length -1)
s += ',';
}
return '[' + s + ']';
}
else
{
for(var p in o)
{
if(typeof(o[p])!="function"){
s += "'" + p +"':" + json_from_object(o[p]);
s += ',';
}
}
return '{' + s.substring(0,s.length-1) + '}';
}
break;
case 'string':
return '\'' + o.replace(/(["\\])/g, '\\$1') + '\'';
default:
return String(o);
}
}
调用实例也很简单:
function Test1() {
this.sName = '';
this.sCode = '';
this.iNum = 0;
}
var obj=new Test1();
obj.sName = "lbq";
obj.sCode = "1111";
obj.iNum = 100;
alert( json_from_object(obj));
转载于:https://www.cnblogs.com/liubiqu/archive/2008/04/22/1164788.html
[原创]用递归写的一个object 转换成JSON的函数相关推荐
- 我写的一个给time_t赋值的小函数
我写的一个给time_t赋值的小函数 //======================================== // 功能:将固定格式的时间转化为 time_t 日历时间 // ...
- 用js写出数据结构中的自定义队列,利用队列思想写出一个击鼓传花的游戏函数,优先级队列
队列的核心是先进先出 1.用js写出数据结构中的自定义队列 class Queue{constructor(){this.item = [];}// 1.入队enqueue(ele){this.ite ...
- VBA,关于filter()函数的局限性和原理,自己写了一个仿造filter同功能自定义函数
1 filter() 函数的局限性 1.1 filter() 非精确查找,是模糊查询,类似于 like 的功能 filter() 非精确查找,是模糊查询,类似于 like 的功能 1.2 Filter ...
- 分享一个小工具:Excel表高速转换成JSON字符串
在游戏项目中一般都须要由策划制作大量的游戏内容,当中非常大一部分是使用Excel表来制作的.于是程序就须要把Excel文件转换成程序方便读取的格式. 之前项目使用的Excel表导入工具都是通过Offi ...
- C++把一个字符转换成string方法
C++把一个字符转换成string方法 原网址:https://zhidao.baidu.com/question/492029810.html 单个字符无法直接转换为string 间接的方式有以下两 ...
- python读取一个TXT转换成EXCEL表格
[任务]:python读取一个TXT转换成EXCEL表格 [坑1]pycharm安装后代码区不能编辑,是由于最新的pycharm在安装时自动装了vimVim插件, 方法一:在tools-Vim emu ...
- 在 Linux 中把一个网页转换成 PDF的技巧介绍
你如何在 Linux 中把一个网页转换成 PDF?你可以选择使用每个 Linux 发行版上的网页浏览器(GUI),或者使用终端将网页变成 PDF 文件. 在这里,我将提到这两种方法来帮助你完成工作. ...
- java 把ascll转换成char_java中 怎么把一个ascii转换成字符串
java中 怎么把一个ascii转换成字符串 关注:275 答案:3 信息版本:手机版 电脑版 解决时间 2021-01-18 08:53 提问者壹玍徴戰何亽陪 2021-01-17 22:42 ...
- 把一个整数转换成十六进制数
把一个整数转换成十六进制数 public class Test {public static void main(String[] args) {String s = decChangeHex(125 ...
最新文章
- 对matlab中colormap的解释及fill、imshow的用法说明
- 深度洞见|体验经济浪潮兴起,什么才是企业制胜密钥?
- php字符串处理面试题,关于PHP字符串的一道面试题
- QImage setPixel
- 磁共振成像(MRI)影像心脏组织分割
- webpack4.0关闭开发环境的代码压缩UglifyJsPlugin
- The conda.compat module is deprecated and will be removed in a future releas错误记录
- 中国大学慕课——程序设计与算法(一)第二周测验
- 可视计算机应用李桂清,华南理工大学研究生导师介绍---李桂清
- nuke linux 插件,NUKE插件:通过环境变量设置NUKE GIZMO插件
- MyBatis在Spring中的事务管理
- C++中string.size()函数 踩坑
- *7-2 CCF 2015-09-2 日期计算
- html padding顺序,html中padding用法
- 快手集福气中国牛 2021快手集福卡活动规则
- 微信小程序promise接口封装
- 安装mysql57遇到的坑,亲测安装成功(Win10)
- IOS Modal Segue和Unwind Segue的使用Demo-附完整工程
- vue 使用MD5加密
- 寺冈labelnet使用说明_用TensorFlow训练一个目标检测器(手把手教学版)