您的位置:首页 > 编程语言 > ASP

ASP.NET用SQL Server中的数据来生成JSON字符串

2008-08-10 03:25 429 查看
最近在学习ExtJs与ASP.NET结合开发,前者用到的数据内容基本上都是JSON格式,遂想写一个格式化数据成JSON的东东,在网上找了一下,发现还蛮多的,实现了一个类似于ToString()的方法,名曰:ToJson()。

不过在网上看到的基本上都是属于SCOTT大作的临摹版,90%以上都一样(我并不是说SCOTT大虾的杰作有什么不好,没有那个意思),于是我也照着葫芦画了一个瓢。废话就不多说了,直接进入正题。

先说说我的开发环境:

Windows Server 2008 DataCenter

Visual Studio 2008 Team System

SQL Server 2005 Developer(SQL 2008已经正式发布了,准备升级,^_^)

我照着SCOTT的大作(本文末有原著以及中文版链接)写了一个ToJson()出来。代码如下:

using System;

2using System.Web.Script.Serialization;

3

4namespace Demo

5using System;

2using System.IO;

3using System.Runtime.Serialization.Json;

注:因为要用到Stream等东东,所以这里要添加上System.IO这个命名空间。

总共三条using语句,在添加完之后,就可以开始写代码了,代码如下:

namespace Demo

2using System;

2using System.Runtime.Serialization;

3

4namespace Test

5// 获取表中的所有数据

2private List<TestClass> GetAllData()

3

23// 向泛型填充数据

24private TestClass FillDetailWithReader(SqlDataReader reader)

25protected void Page_Load(object sender, EventArgs e)

2{

3{

5 // 首先调用GetAllData()方法获取数据库中的数据

6 List<TestClass> list = this.GetAllData();

7

8 // 将泛型list格式化成JSON字符串,并且赋值到Label1中去

9 Label1.Text = list.ToJson();

10 }

11}
到此,就完成了从SQL Server中读取数据、格式化成JSON字符串、并且输入的过程。

如今网上有很多这方面的内容,比如什么用LINQ读取啊,或者不用SQL Server,用XML等等,就靠大家自己去摸索的。

下一步目标:不知道大家注意到没有,上面SCOTT大作里面对ToJson()进行了重载,而我写的ToJson()方法只有一个,少了一个重载,这个就是我的下一步目标,希望是在没有警告的情况下,将序列化深度的自定义研究出来。

不好意思,自己的基础比较薄弱,在这里献丑了,还望大虾多多谅解。今天敲累了,该睡觉了,下次再研究了套用ExtJs之后,再发上来。

希望各位身体健看,工作顺利。

缺水的海豚敬上

PS.

SCOTT大作原文(Tip/Trick: Building a ToJSON() Extension Method using .NET 3.5)

SCOTT大作中文版(技巧/诀窍:用 .NET 3.5 创建 ToJSON() 扩展方法 (木野狐译))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐