最近项目中需要用到 JSON操作,google了一下 找到了几个比较好的操作方法....

一 .使用 mircosoft 提供的 .NET Framework 自带的 json操作方法

1. 使用JavaScriptSerializer,位于命名空间System.Web.Script.Serialization,使用如下:

序列化为JSON字符串:

C#代码

User user = new User {Name = "jquery", Age = 20};
JavaScriptSerializer serializer = new JavaScriptSerializer();
string result = serializer.Serialize(user);

反序列化JSON

C#代码

String input = "";
JavaScriptSerializer serializer = new JavaScriptSerializer();
serializer.Deserialize(input);

2. 使用DataContractJsonSerializer类,

推荐使用这个,这是最新的,位于命名空间System.Runtime.Serialization.Json下,序列化和反序列化分别调用它的WriteObject()和ReadObject()方法就可以了。

二:使用第三方的 JSON.NET  (http://json.codeplex.com/)

Version: Json.NET 3.5 Release 7
Date: Fri Apr 16 2010 at 3:00 PM

在项目中添加Newtonsoft.Json.dll引用..

using Newtonsoft.Json;
using Newtonsoft.Json.Converters;

//把Json字符串反序列化为对象

目标对象 = JsonConvert.DeserializeObject(JSON字符串, typeof(目标对象));

//把目标对象序列化为Json字符串

string Json字符串 = JsonConvert.SerializeObject(目标对象);

string jsonText = "";

//json 读取
jsonText = "['JSON!',1,true,{property:'value'}]";
JsonReader reader = new JsonTextReader(new StringReader(jsonText));
Console.WriteLine("TokenType\t\tValueType\t\tValue");
while (reader.Read())
{
    Console.WriteLine(reader.TokenType + "\t\t" + reader.ValueType + "\t\t" + reader.Value);
    Console.WriteLine("\n\r");
}

//JSON写入
StringWriter sw = new StringWriter();
JsonWriter writer = new JsonTextWriter(sw);
writer.WriteStartArray();
writer.WriteValue("JSON!");
writer.WriteValue(1);
writer.WriteValue(true);
writer.WriteStartObject();
writer.WritePropertyName("property");
writer.WriteValue("value");
writer.WriteEndObject();
writer.WriteEndArray();
writer.Flush();
jsonText = sw.GetStringBuilder().ToString();
Console.WriteLine(jsonText);

一些相关的json操作的链接和资料

json官方: http://www.json.org/json-zh.html

另外一种开源的json类库 : Jayrock.Json  (http://www.cnblogs.com/chjw8016/archive/2010/04/20/1716198.html?login=1#commentform)

ASP.NET 里的 JSON操作的更多相关文章

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

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

  2. Asp.Net Core 2.0 项目实战(8)Core下缓存操作、序列化操作、JSON操作等Helper集合类

    本文目录 1.  前沿 2.CacheHelper基于Microsoft.Extensions.Caching.Memory封装 3.XmlHelper快速操作xml文档 4.Serializatio ...

  3. ASP.NET XML与JSON

    第一章  ASP.NET XML与JSON 本章学习目标:主要理解DOM和XML,掌握.NET操作XML,DOM,理解json对象,并掌握ASP.NET中JSON的序列化和反序列化. 下面是ASP.N ...

  4. asp.net中利用JSON进行增删改查中运用到的方法

    //asp.net中 利用JSON进行操作, //增加: //当点击“增加链接的时候”,弹出增加信息窗口,然后,在窗体中输入完整信息,点击提交按钮. //这里我们需要考虑这些:我会进行异步提交,使用j ...

  5. python语言(三)文件修改、函数、json操作、监控日志代码、高效读取文件

    1.文件操作(2)   代码 f = open('a.txt','a') # "a" 如果源文件不在,会自动创建 f.write('abc') result = f.read() ...

  6. python使用笔记006-函数+json操作

    一.函数 函数:提高代码的复用性 1.1 函数的定义 1 def hello(): 2 print('hello') 3 print('fdsfjslkfs') 4 5 #函数不调用就不会执行 6 h ...

  7. Json操作(DynamicJson)

    Json的简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了 ...

  8. Asp.Net调用Office组件操作时的DCOM配置 (转)

    Asp.Net调用Office组件操作时的DCOM配置 http://blog.csdn.net/gz775/article/details/6447758 在项目中将数据导出为Excel格式时出现“ ...

  9. ASP.NET Core 返回 Json DateTime 格式

    ASP.NET Core 返回 Json 格式的时候,如果返回数据中有DateTime类型,如何自定义其格式呢?配置如下: services.AddMvc().AddJsonOptions(opt = ...

随机推荐

  1. 【JavaEE】SSH+Spring Security自定义Security的部分处理策略

    本文建立在 SSH与Spring Security整合 一文的基础上,从这篇文章的example上做修改,或者从 配置了AOP 的example上做修改皆可.这里主要补充我在实际使用Spring Se ...

  2. 安装SQL Server Management Studio Express错误码是29506

    解决方法:1:新建一个记事本,输入msiexec /i path\SQLServer2005_SSMSEE.msi 然后另存为.cmd格式.2:右单击刚刚创建的那个.CMD文件,选择“以管理员身份运行 ...

  3. Force.com微信开发系列(三)申请测试账号及回复图文消息

    Force.com除了简单的文本消息回复外,还能回复图文并茂的消息.能回复音乐或者视频.能对用户发来的语音进行识别.能够搜集用户的地理位置信息并提供相应的内容或服务等,本文将对这些技能一一展开说明,在 ...

  4. iOS加载程序视图的方式

    The UIViewController class provides built-in support for loading a view controller's views whenever ...

  5. IOS开发支付宝集成

    开发准备 1.首先新建项目,然后去官网下载最新的开发包:http://doc.open.alipay.com/doc2/detail?treeId=59&articleId=103563&am ...

  6. Mac上的软件的一些对开发者有用的使用技巧(持续更新)

    内容大纲: Google浏览器设置开发者模式 正文: 1.Google浏览器设置开发者模式

  7. MySQL学习基础 之 起航篇

    MySQL 学习来自慕课网<与MySQL的零距离接触> MySQL是一个开源的关系型数据库管理系统 MySQL分为社区版和企业版 MySQL登录和退出相关的命令 参数 描述 -D,--da ...

  8. Swift面向对象基础(中)——Swift中的存储属性和计算属性

    学习来自<极客学院> 1.存储属性:存储在类.结构体里的变量或者常量 2.分为:实例存储属性.类型存储属性 3.所有的存储属性必须显示的指定初始值,在定义时或者构造器当中指定 4.可选类型 ...

  9. JQuery怎么实现页面刷新后保留鼠标点击样式的方法

    今天抽空研究了下鼠标点击添加样式的方法.为了防止忘记,写篇文章算是备份吧. $('ul.main-menu li a').each(function(){     if($($(this))[0].h ...

  10. win32 应用程序 添加资源

    一.资源 1.字符串资源 LoadString LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); 二.窗口类 1.系统类 T ...