【讲讲我家的减税故事】讲讲关于NET3.5的JSON操作

更新时间:2017-05-02    来源:作文    手机版     字体:

【www.bbyears.com--作文】

前几天把类库由Net2.0升级到3.5,过程还是比较顺利的,只是其中一个DLL出了点问题,就Newtonsoft.Json.DLL,原来,它有2个版本,一个是基于Net2.0类库的,另一个是基于Net3.5类库,目前有没有基于4.0的版本,不清楚.可能是由于代码不规范,导致这个DLL引用失败.

      之后,找到对应的3.5版本的DLL覆盖以后,编译通过,似乎正常了.但在进行JSON格式转换的时候,提示转换失败,经过调用和跟踪,发现2.0和3.5在语法上还是有差别的,在博客园里搜索了一圈,发现资料确实不少,但都比较杂,有的只说了某个点.趁着周末时间,把基于3.5的JSON操作整理了一下,现公布出来,方便大家以后使用.       JSON操作的使用场景,包括两个方面,即Web的客户端和服务端,Newtonsoft.Json是在服务端使用,客户端我使用了json.js文件,这个文件也是开源,而且在我提供的下载包里也有,大家可直接下载.它们2个类库配合使用,解析JSON就比较简单了.       下面再说下支持的数据类库,目前支持如图-1所示的类型.当然,其他数据类型也是可以支持的,大家可以自行扩展,只是下面的数据对我来说,已经够用了. clip_image001 图-1       OK,下面我们就要根据这些数据类型来操作JSON了,应该说,NET3.5版本比2.0要简单些,而且还支持Linq语言.整个解析过程还是比较顺利的,只要大家注意如下几个类就可以了.如何使用在提供的源码中已经有所说明了. Newsonsoft.Json.Linq.JObject Newsonsoft.Json.Linq.JProperty Newsonsoft.Json.Linq.JArray Newsonsoft.Json.Linq.JValue       这里有一点需要描述下,就是我们打算在前台生成JSON格式字符串,在后台直接生成DataTable对象,这个功能是可以实现的.上述的JsonDataType枚举中ClientDataTable就是这个类型.简单说,是由客户端的Array+Object组成,即Array[0]=Object模式,这样我们在后台解析的时候,就可以直接生成DataTable了.当然,不止这一种格式,我们可以自己定义格式,自己解析       最后看下示例好了,根据上述的数据类型做的示例,如图-2所示.示例可以直接运行,大家直接看好了. clip_image003

本文来源:http://www.bbyears.com/fanwenwang/32334.html

猜你感兴趣