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操作请求。

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

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

    Membership.MembershipUser和Roles类 用户与角色管理在asp.net2.0中是通过Membership和Roles两个类来实现的. Membership:用户成员账号管理, ...

  2. Asp.net2.0里的SessionPageStatePersister

    备注: ASP.NET 页可在处理和提供任何网页所必需的原本无状态 HTTP 请求与响应之间存储 Page 状态信息.此状态称为“视图状态”. ASP.NET 的默认持久性机制是使用 HiddenFi ...

  3. .net2.0 C# Json反序列化

    http://cjl20082002.blog.163.com/blog/static/120827332009511103457637/ 去:http://json.codeplex.com/下载  ...

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

    上一篇我们用Profile.age等方式可以读取用户的年龄和其它的信息,但有的时候我们要查询显示所有用户的信息,但asp.net没有提供查询所有用户信息的功能,我们只能对现有的用户逐一查询其Profi ...

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

    "验证"与"授权"是对网页资源安全管理的两道门. 验证(Authentication):检查用户是否是合法的用户.就像是网站大门口的保卫,服责验证使用的用户名和 ...

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

    安全管理的解决方案在.net1.1中几乎为一片空白,对于应用程序的验证与授权大部分的工作是开发人员自己编写代码,或者是借助企业库等工具来实现,此可谓.net1.1中的一大缺憾.在.net2.0中微软为 ...

  7. ASP.NET2.0自定义控件组件开发 第六章 深入讲解控件的属性

    原文:ASP.NET2.0自定义控件组件开发 第六章 深入讲解控件的属性 深入讲解控件的属性持久化(一) 系列文章链接: ASP.NET自定义控件组件开发 第一章 待续 ASP.NET自定义控件组件开 ...

  8. asp.net2.0导出pdf文件完美解决方案【转载】

    asp.net2.0导出pdf文件完美解决方案 作者:清清月儿 PDF简介:PDF(Portable Document Format)文件格式是Adobe公司开发的电子文件格式.这种文件格式与操作系统 ...

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

    很多时候我们需要链接转向(Url Rewriting),例如二级域名转向.文章访问链接等场合. 让我们看两个例子: 1 你现在看到的当前作者的博客园的域名: http://jx270.cnblogs. ...

随机推荐

  1. servlet 3.0无需配置web.xml,使用注入方式配置servlet实现登陆功能(服务器需要支持servlet3.0)

    首先申明上面的报错红叉,我也不知道怎么回事.总之能运行. 新建项目时选择java EE6.0,低版本没有servlet3.0. 先看一个基本示例. Test.java是用来测试无需配置文件,无需静态页 ...

  2. urllib2的GET和POST请求(五)

    urllib2默认只支持HTTP/HTTPS的GET和POST方法 urllib.urlencode() urllib 和 urllib2 都是接受URL请求的相关模块,但是提供了不同的功能.两个最显 ...

  3. centos7上安装rar解压软件

    (http://www.rarlab.com)官网可以查看最新的版本 wget https://www.rarlab.com/rar/rarlinux-x64-5.5.0.tar.gz 2.tar.g ...

  4. 使用D3D渲染YUV视频数据<转>

    源代码下载 转载地址:http://blog.csdn.net/dengzikun/article/details/5824874 源码地址:http://download.csdn.net/down ...

  5. NodeJs-Linux环境初步

    1.Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具. 使用 Express 可以快速地搭建一个完整功能 ...

  6. 【转】跨DLLnew delete问题

    转两篇文章来说这个问题的 链接1:https://blog.csdn.net/notebook2001a/article/details/6647850 链接2:https://blog.csdn.n ...

  7. 15.3Sum (Two-Pointers)

    Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all un ...

  8. interrupt和isInterrupted的基本使用方法

    java线程是协作式,而非抢占式 调用一个线程的interrupt() 方法中断一个线程,并不是强行关闭这个线程,只是跟这个线程打个招呼,将线程的中断标志位置为true,线程是否中断,由线程本身决定. ...

  9. CVE-2017-7494:Linux Samba named pipe漏洞

    描述: 漏洞是由于代码中一个管道申请命令的判断导致的,可以通过构造特定请求执行上传的so文件. 漏洞影响了Samba 3.5.0 之后到4.6.4/4.5.10/4.4.14中间的所有版本. 测试: ...

  10. PhpStorm 合理标注目录让索引和扫描更加地高效

    在项目开发过程中,以下几种情况让 PhpStorm 加重了索引扫描的负担: 1.npm install 之后产生的 node_modules 目录 2.runtime 运行时产生的目录 3.stora ...