ASP.NET2.0 Newtonsoft.Json 操作类分享

JSON 是现在比较流行的数据交互格式,NET3.0+有自带类处理JSON,2.0的话需要借助Newtonsoft.Json来完成,不然自己写的话,很麻烦。

网上搜索下载 Newtonsoft.Json.Net20.dll (没有加群找群主拿),添加引用到项目当中。

/*添加引用*/
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json.Converters;

        /* 序列化,返回JSON格式的字符串 */
        public static string DateTimeFormat = "yyyy‘-‘MM‘-‘dd‘T‘HH‘:‘mm‘:‘ss";
        public static string Encode(object o)
        {
            if (o == null || o.ToString() == "null") return null;

            if (o != null && (o.GetType() == typeof(String) || o.GetType() == typeof(string)))
            {
                return o.ToString();
            }
            IsoDateTimeConverter dt = new IsoDateTimeConverter();
            dt.DateTimeFormat = DateTimeFormat;
            return JsonConvert.SerializeObject(o, dt);
        }

        /* 反序列化,返回Object对象,可转指定类型 */
        public static object Decode(string json, Type type)
        {
            if (json == "") return null;
            try { return JsonConvert.DeserializeObject(json, type); }
            catch { return null; }
        }

使用说明:

/* 1、当为普通的JSON对象,没有数组,没有嵌套时 */
Dictionary<string, object> json = Decode("json字符串", typeof(Dictionary<string, object>)) as Dictionary<string, object>;

/* 2、当为JSON数组对象时 */
List<Dictionary<string, object>> attrs = Decode("json数组", typeof(List<Dictionary<string, object>>)) as List<Dictionary<string, object>>;

/* 3、当为多重嵌套时
先Dictionary<string, object>获取第一层,再循环指定KEY获取数组解析
就是1 2两种方式慢慢解析出来
*/

当然,比较有针对性的话,也可以自己写MODEL类指定JSON转换。

以上基本能满足大部份JSON操作请求。

原文地址:https://www.cnblogs.com/ubshoes/p/9161944.html

时间: 2024-09-29 16:53:02

ASP.NET2.0 Newtonsoft.Json 操作类分享的相关文章

asp.net2.0安全性(1)--用户角色篇(类)--转载来自车老师

Membership.MembershipUser和Roles类 用户与角色管理在asp.net2.0中是通过Membership和Roles两个类来实现的. Membership:用户成员账号管理,用户名.密码.邮箱等 Roles:负责用户和群组之间关系管理. l         Membership类: 主要是创建用户帐号.验证用户身份和管理用户设置 属性: 1)        EnablePasswordReset:获取一个值,以指示是否可以重置密码. 2)        EnablePa

.net2.0 C# Json反序列化

去:http://json.codeplex.com/下载 Json.NET 1.3.1(.net2.0用) Json.net API:http://james.newtonking.com/projects/json/help/ 解压吧BIN文件拷贝到项目的BIN文件中(我就考那Newtonsoft.Json.dll 配置的xml文件没拷还没知道这么用) 反序列化:(就是把JSON取出来赋予C#然后操作数据 我是这样理解的) 代码: using Newtonsoft.Json;//导入类 st

公共的Json操作类

using System; using System.Data; using System.Text; using System.Collections.Generic; using System.Reflection; using System.Data.Common; using System.Collections; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.IO; usi

asp.net2.0安全性(3)--验证与授权--转载来自车老师

"验证"与"授权"是对网页资源安全管理的两道门. 验证(Authentication):检查用户是否是合法的用户.就像是网站大门口的保卫,服责验证使用的用户名和密码. 授权(Authorization):检查用户是否有访问某种资源的权限.例如有的人虽然能过了环保局门口保卫的验证,进入环保局,但他可能是一个普通科员,那他就没有局长职责. 验证与授权的底层运作: 首先,打开windows操作系统的“管理工具”->“计算机管理”->“本地用户和组”->“

asp.net2.0安全性(1)--用户角色篇(起篇)--转载来自车老师

安全管理的解决方案在.net1.1中几乎为一片空白,对于应用程序的验证与授权大部分的工作是开发人员自己编写代码,或者是借助企业库等工具来实现,此可谓.net1.1中的一大缺憾.在.net2.0中微软为我们提供了一系列的API类和控件,大大简化了我们在此方面的工作量. 下面我将推出一系列的随笔介绍asp.net2.0的安全系统. Asp.net2.0中提供了一系列的控件实现验证与授权中的各种功能,这些控件我将在以后讲述.但喜欢思考的朋友们可能会问:这些控件是怎样实现了这一系列的功能呢?答案是:通过

asp.net2.0安全性(2)--用户个性化设置(2)--转载来自车老师

上一篇我们用Profile.age等方式可以读取用户的年龄和其它的信息,但有的时候我们要查询显示所有用户的信息,但asp.net没有提供查询所有用户信息的功能,我们只能对现有的用户逐一查询其Profile信息. 第一步:设置配置文件 第二步:得到所有的用户 MembershipUserCollection users = Membership.GetAllUsers(); 这里用到了Membership类的GetAllUsers()方法,此内容已经在“用户与角色管理”中说过,不再赘述. 第三步:

在ASP.NET2.0里打印网页指定的内容(比如打印网页里的一个Table)

原文:在ASP.NET2.0里打印网页指定的内容(比如打印网页里的一个Table) 打印指定内容: <html> <head> <script   type= "text/javascript "   language= "javascript "> function   printPage()   {   var   newWin   =   window.open( 'about:blank ', ' ', ' ');   v

ASP.NET2.0 ObjectDataSource的使用详解《转》

原文发布时间为:2008-08-02 -- 来源于本人的百度文章 [由搬家工具导入] ASP.NET2.0 ObjectDataSource的使用详解(2) http://mqingqing123.cnblogs.com/archive/2006/04/20/379720.html           这是因为GridView 和其他数据绑定控件调用 Update 操作的自动功能需依赖此命名约定才能工作。参数的命名预期应与 SelectCommand 返回的关联字段值相同。使用此命名约定使得数据

【IHttpHandler】在ASP.Net2.0中使用UrlRewritingNet实现链接重写

很多时候我们需要链接转向(Url Rewriting),例如二级域名转向.文章访问链接等场合. 让我们看两个例子: 1 你现在看到的当前作者的博客园的域名: http://jx270.cnblogs.com/ 实际上是 http://www.cnblogs.com/jx270 的一种链接重写(Url Rewriting). 2 codeproject上的文章,我们获取的地址都是以文章主要关键字做的网页名称: http://www.codeproject.com/cs/webservices/ws