博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

json的官方主页是http://www.cnblogs.com/losingrose/admin/www.json.org

在其官网上同样也是有着其介绍,很巧,其官网有中文页面http://www.json.org/json-zh.html,这样大家就更容易了解它了。

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。按我的理解,它的实质是利用了javascript中的数组,哈希表和变量弱类型化的特点,创造的无限级复合数据结构。 我们大可不必去探究其本质,总之我们用起来很简单就是了。

 json数据在js中可以很方便的调用,如下面的例子:

 var myJSONObject = {"bindings": [

          {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},

          {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},

          {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}

     ]

};

上面的示例,创建了一个包括单独成员”bindings”的对象,此成员包括一个含有三个对象(”ircEvent”, “method”, 与 “regex”)的数组

成员可以通过.或者下标操作符检索。

myJSONObject.bindings[0].method // "newURI"
既然使用json方便我们在客户端存储和操作数据,那么我们如何把数据库中的表转换成这种类型的数据呢?
接下来要介绍官方主页下面的东西了,注意到“空白可以加入到任何符号之间。 以下描述了完整的语言。”这句下面有一条黑线吗?
之后罗列了很多语言,这些是什么呢?
他们是json在各种语言中的应用链接,让我们看C#下面列的项,我个人选择的是Json.NET - LINQ to
JSON
不仅是因为其名称显得功能强,你点开看就会发现他的博客以及文档工作做得都相对较好,而且类库打包的也比较好,还有源码下载。
我用的就是他的源码,我选择的是2.0的版本http://www.codeplex.com/Json/Release/ProjectReleases.aspx?ReleaseId=13099,然后又增加了两个函数以适应自己的需求加入的几个函数如下:

Code

 

这两个函数可以直接将datatable转换成字段名对应的json的。

到此我们就完成了服务器端数据的转换部分,那么使用什么方法把这些数据传输到客户端最好呢?

当然你可以在页面直接输出,也可以使用庞大的传统的web服务(不过使用json其实就是为了不使用web服务),不过这两种都不是最优化的,我选择了ashx一般处理程序,根据我查阅网络资料知道了他的处理性能比aspx都要高10倍以上,于是我就选择了它。

 具体内容参考 结合jquery,json很好地利用ashx文件开发高性能ajax一文。

客户端就采用的是jquery的ajax方法来相互之间传递数据,具体请看jquery的api自己尝试下吧。

相关链接:结合jquery,json,jst很好地利用ashx文件开发高性能ajax,2009年4月1日增加Demo下载