天天无用

要用最简单的方法解决最实际的问题

刘强ID:luq885
37702次访问,排名2826(1)好友5人,关注者15
太懒
luq885的文章
原创 18 篇
翻译 0 篇
转载 8 篇
评论 36 篇
天天无用的公告

本博客所有原创文章版权归本人所有,如欲转载或用于商业请先联系本人。

最近评论
eleph:我的是VS2003 该怎么办呀,刚试了一下,你的代码.在我这上面好像不行样.
xqxujun:好像不通用啊,,
鱼鱼:能不能加上自动选择搜索出来的第一个为默认值?
dmm_2008:你好呀..能发我个JSP的例子吗.


dongming_9431@163.com
sean_xxrs:在PHP里怎么实现啊?
文章分类
收藏
相册
链接
『 天道酬勤 』(RSS)
Dflying Chen(RSS)
听棠.NET(RSS)
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

原创 .net下两种json序列化速度比对(已添加源代码下载地址)收藏

新一篇: 纵向合并gridview单元格的两种方法 | 旧一篇: asp.net 2.0 中 TreeView控件中的checkbox客户端操作

最近研究JSON,想把datatable直接序列化为json,上网查了查,发现.net下有这么两种json序列化的方法:

 一是用Newtonsoft.Json.dll进行json序列化,这个从json的官网上就可以找到,使用比较方便。

二是用xml-2-json.xsl这个xslt模板转换,详细请看这里http://blog.csdn.net/isaaq/archive/2006/12/09/1436357.aspx

两种序列话方法都可以达到要求,但是我想看一下两种分别的速度如何,于是自己写个程序试一下。

生成datatable的代码如下 

    private DataTable getDataTable(string name)
    
{
        DataTable dt 
= new DataTable(name);
        dt.Columns.Add(
new DataColumn("name"typeof(string)));
        dt.Columns.Add(
new DataColumn("password"typeof(string)));
        DataRow dr;
        
for (int i = 0; i < 100; i++)
        
{
            dr 
= dt.NewRow();
            dr[
0= i.ToString();
            dr[
1= "P" + i.ToString();
            dt.Rows.Add(dr);
        }

        
return dt;

    }


其中循环次数分别是10,100,1000,1000,然后看一下两种方法的序列话速度。结果见下表

  JSON.DLL XSLT
10 0毫秒 31.25毫秒
100 15.625毫秒 31.25毫秒
1000 46.875毫秒 140.625毫秒
10000 9531.25毫秒 31218.75毫秒

程序写的并不严谨,只是简单比对一下速度而已,数据都是多次运行取的相当稳定的值而已,并不能说明具体时间。有一个奇怪的现象是,循环次数为10000时,用XSLT转换一般都是30秒左右,但有时会有10秒左右的现象出现,不知是什么原因。

有需要源代码的朋友请留下邮箱,我会尽快发过去的。另外想请大家帮忙看一下我用json.dll序列化datatable的方法是否正确,我是把datatable转换为xml,然后用json.dll转换xml为json,不知道有没有更好的方法,谢谢大家。

源代码已经上传到http://download.csdn.net/user/luq885/,请自行下载

发表于 @ 2007年05月10日 17:15:00|评论(loading...)|编辑

新一篇: 纵向合并gridview单元格的两种方法 | 旧一篇: asp.net 2.0 中 TreeView控件中的checkbox客户端操作

评论

#scz2011 发表于2007-08-08 09:21:59  IP: 203.207.223.*
能给我发份源码麽,谢谢!boshulin2011@163.com
2007-08-25 09:52:02作者回复
不好意思这么久才回复,请到http://download.csdn.net/user/luq885/下载
#寒冰冷水 发表于2007-08-22 11:37:10  IP: 60.20.13.*
给我一份吧:phuhu@126.com
2007-08-25 09:51:18作者回复
请到http://download.csdn.net/user/luq885/下载
发表评论  


登录
Csdn Blog version 3.1a
Copyright © 天天无用