天天无用

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

刘强ID:luq885
37703次访问,排名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

原创 自己写的DataTable转换成JSON字符串的函数收藏

新一篇: 基于jQuery的AJAX和JSON实现纯html数据模板 | 旧一篇: 发布自己写的jQuery自动完成的插件(AutoComplete)(28日更新)

        最近一直要用到JSON数据,而且是要把DataTable转换成JSON。以前一直是用Newtonsoft.Json.dll序列化,先要把DataTable转换成xml格式,然后再用Newtonsoft.Json.dll转换xml格式到json格式。(见以前的文章http://blog.csdn.net/luq885/archive/2007/05/10/1603330.aspx

        其实JSON数据的格式比较简单,仔细研究了一下,发现直接分解DataTable,然后用StringBuilder来构造成JSON格式也不是很复杂。函数代码如下:

    private string DataTable2Json(DataTable dt)
    
{
        StringBuilder jsonBuilder 
= new StringBuilder();
        jsonBuilder.Append(
"{\"");
        jsonBuilder.Append(dt.TableName);
        jsonBuilder.Append(
"\":[");
        
for (int i = 0; i < dt.Rows.Count; i++)
        
{
            jsonBuilder.Append(
"{");
            
for (int j = 0; j < dt.Columns.Count; j++)
            
{
                jsonBuilder.Append(
"\"");
                jsonBuilder.Append(dt.Columns[j].ColumnName);
                jsonBuilder.Append(
"\":\"");
                jsonBuilder.Append(dt.Rows[i][j].ToString());
                jsonBuilder.Append(
"\",");
            }

            jsonBuilder.Remove(jsonBuilder.Length 
- 11);
            jsonBuilder.Append(
"},");
        }

        jsonBuilder.Remove(jsonBuilder.Length 
- 11);
        jsonBuilder.Append(
"]");
        jsonBuilder.Append(
"}");
        
return jsonBuilder.ToString();
    }

这一行“jsonBuilder.Remove(jsonBuilder.Length - 1, 1);”是为了去掉最后一个多于的逗号,当然这个函数不能操作比较包含复杂数据类型的DataTable,不过对于现在的工作已经够用了。

发表于 @ 2007年06月05日 22:51:00|评论(loading...)|编辑

新一篇: 基于jQuery的AJAX和JSON实现纯html数据模板 | 旧一篇: 发布自己写的jQuery自动完成的插件(AutoComplete)(28日更新)

评论

#xychb 发表于2007-08-01 11:03:03  IP: 222.92.90.*
多谢天天的精彩文章呀,现在也用到这些东东啦,多谢啦!
2007-08-01 14:27:09作者回复
有用就好!
#jasonoiu 发表于2007-12-18 17:11:00  IP: 218.18.195.*
这个非常有用,我刚刚借着用了,哈哈
问题解决了!!!
发表评论  


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