[原创]用递归写的一个object 转换成JSON的函数
2008-04-22 00:21
549 查看
这段时间可把JavaScript学得透彻了,发现还是非常好用的。
我在网上找了很多这样的例子,发现都写的好多,总感觉应该是很简单的,想想应该用递归调用一下应该不难吧,后来自己试了一下还算不难,看来学好算法还是有好处的,呵呵(自夸一下)
利用了Javascript的反射机制(JavaScript真是太强了)与递归的算法很方便就把功能实现了。
好了,共享出来给大家做个参考:
本方法支持子对象,数组等多种形式。字符、数字、布尔型变量都可以识别。
function json_from_object(o)
{
{
{
{
{
{
{
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));
我在网上找了很多这样的例子,发现都写的好多,总感觉应该是很简单的,想想应该用递归调用一下应该不难吧,后来自己试了一下还算不难,看来学好算法还是有好处的,呵呵(自夸一下)
利用了Javascript的反射机制(JavaScript真是太强了)与递归的算法很方便就把功能实现了。
好了,共享出来给大家做个参考:
本方法支持子对象,数组等多种形式。字符、数字、布尔型变量都可以识别。
function json_from_object(o)
{
{
{
{
{
{
{
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));
相关文章推荐
- 一个实用的 Javascript XML to JSON Object 对象的转换 (JQuery)
- 练习 4-12 运用 printd 函数的设计思想编写一个递归版本的 itoa 函数,即通过递归 调用把整数转换为字符串
- 将一个List<Object>转换成json,方便前台界面获取
- 自己编写的一个Json工具类,实现了反射将整个Object转换为Json对象的功能,支持Hibernate的延迟加载对象
- Jquery将一个object对象转换成json字符串
- 自己编写的一个Json工具类,实现了反射将整个Object转换为Json对象的功能,支持Hibernate的延迟加载对象
- [原创] DataTable与Object互相转换及相关函数转换大全(DataConvert类)
- 自己编写的一个Json工具类,实现了反射将整个Object转换为Json对象的功能,支持Hibernate的延迟加载对象[修订081217]
- 通过递归将list<Map<String,Object>>类型的数据转换为tree组件可识别的json数据
- 每天一个小知识点19(Javascript对象转换成json的函数)
- 写出一个函数,要求将输入的十六进制数转换成十进制数。要求函数调用时,使用指针作函数形参。
- 编程题:写一个函数将其中的\t都转换成4个空格
- json字符串与Object对象间的转换
- 发一个实用函数,word文件转换成文本文件(DocToTxt)
- json 字符串包含数组转换为object对象是报异常java.lang.ClassCastException: net.sf.ezmorph.bean.MorphDynaBean cannot be cast to
- java Object类型转换为jsonObject、或者map类型 maven加入json包
- WEB前端 -- JavaScript中json object和json string互相转换
- 将一个十进制数转换成二进制输出--递归实现
- 一个json string和泛型对象转换的经典实例
- 一个函数把十进制整数转换为二进制…