Asp.Net使用Json(.net3.5,C#)[转]

简介:

from:http://www.dockty.com/Article/aspnet_json_net30.aspx

.net FrameWork 3.5 内置了对JSON的支持,我们可以直接使用。
一。准备
首先引用:System.ServiceModel.Web.dll ,System.Runtime.Serialization.dll 。
然后在using里

 
 
  1. using System.Runtime.Serialization;  
  2. using System.Runtime.Serialization.Json; 

二。编写需要序列化的类

 
 
  1. using System.Runtime.Serialization;  
  2. namespace Dockty.Data  
  3. {  
  4.     [DataContract(Namespace = "http://www.dockty.com")]  
  5.     public class ArtTags  
  6.     {  
  7.         public ArtTags() { }  
  8.         [DataMember(Order = 0)]  
  9.         public int ID { getset; }  
  10.         [DataMember(Order = 1)]  
  11.         public int TagID { getset; }  
  12.         [DataMember(Order = 2)]  
  13.         public int ArtID { getset; }          
  14.     }  

定义好要序列化的对象和顺序。

三。JSON帮助类

 
 
  1. using System.IO;  
  2. using System.Runtime.Serialization.Json;  
  3. using System.Text;  
  4.  
  5. namespace Dockty.Data  
  6. {  
  7.     public static class JsonHelper<T>  
  8.     {  
  9.         static JsonHelper()  
  10.         { }  
  11.  
  12.         /// <summary>  
  13.         /// 序列化为JSON对象  
  14.         /// </summary>  
  15.         /// <param name="obj"></param>  
  16.         /// <returns></returns>  
  17.         public static string WriteObject(T obj)  
  18.         {  
  19.             var serializer = new DataContractJsonSerializer(typeof(T));  
  20.             var mstream = new MemoryStream();  
  21.             serializer.WriteObject(mstream, obj);  
  22.             byte[] Bytes = new byte[mstream.Length];  
  23.             mstream.Position = 0;  
  24.             mstream.Read(Bytes, 0, (int)mstream.Length);  
  25.             return Encoding.UTF8.GetString(Bytes);  
  26.         }  
  27.  
  28.         /// <summary>  
  29.         /// JSON对象反序列化  
  30.         /// </summary>  
  31.         /// <param name="data"></param>  
  32.         /// <returns></returns>  
  33.         public static T ReadObject(string data)  
  34.         {  
  35.             var mstream = new MemoryStream(Encoding.UTF8.GetBytes(data));  
  36.             var serializer = new DataContractJsonSerializer(typeof(T));  
  37.             return (T)serializer.ReadObject(mstream);  
  38.         }  
  39.     }  
  40. }  

四。序列化与反序列化

 
 
  1. ArtTags tags = new ArtTags() { ArtID = 1, ID = 1, TagID = 1 };  
  2. //序列化  
  3. string strTags = JsonHelper<ArtTags>.WriteObject(tags);  
  4. //反序列化  
  5. ArtTags newTags = JsonHelper<ArtTags>.ReadObject(strTags); 
欢迎加群互相学习,共同进步。QQ群:iOS: 58099570 | Android: 572064792 | Nodejs:329118122 做人要厚道,转载请注明出处!























本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/sunshine-anycall/archive/2009/07/20/1527169.html ,如需转载请自行联系原作者

相关文章
|
7月前
|
XML JSON 数据处理
C# 中的 XML 与 JSON 数据处理
在现代软件开发中,数据交换和存储需求日益增长,XML 和 JSON 成为最常用的数据格式。本文从 C# 角度出发,详细介绍如何处理这两种格式,并提供示例代码。对于 XML,我们介绍了读取、创建和写入 XML 文件的方法;对于 JSON,则展示了如何使用 Newtonsoft.Json 库进行数据解析和序列化。此外,文章还总结了常见问题及其解决方案,帮助开发者更好地应对实际项目中的挑战。
260 61
C# 中的 XML 与 JSON 数据处理
|
4月前
|
开发框架 监控 .NET
C#进阶-ASP.NET WebForms调用ASMX的WebService接口
通过本文的介绍,希望您能深入理解并掌握ASP.NET WebForms中调用ASMX WebService接口的方法和技巧,并在实际项目中灵活运用这些技术,提高开发效率和应用性能。
169 5
|
7月前
|
开发框架 前端开发 .NET
VB.NET中如何利用ASP.NET进行Web开发
在VB.NET中利用ASP.NET进行Web开发是一个常见的做法,特别是在需要构建动态、交互式Web应用程序时。ASP.NET是一个由微软开发的开源Web应用程序框架,它允许开发者使用多种编程语言(包括VB.NET)来创建Web应用程序。
169 6
|
6月前
|
XML JSON 前端开发
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
1194 0
|
8月前
|
JSON 开发框架 JavaScript
【Azure Developer】使用.Net Core解析JSON的笔记
【Azure Developer】使用.Net Core解析JSON的笔记
|
8月前
|
开发框架 JSON .NET
ASP.NET Core 标识(Identity)框架系列(三):在 ASP.NET Core Web API 项目中使用标识(Identity)框架进行身份验证
ASP.NET Core 标识(Identity)框架系列(三):在 ASP.NET Core Web API 项目中使用标识(Identity)框架进行身份验证
112 1
|
9月前
|
开发框架 搜索推荐 前端开发
【.NET全栈】ASP.NET开发Web应用——Web部件技术
【.NET全栈】ASP.NET开发Web应用——Web部件技术
|
8月前
|
开发框架 .NET 开发工具
【Azure 应用服务】App Service 的.NET Version选择为.NET6,是否可以同时支持运行ASP.NET V4.8的应用呢?
【Azure 应用服务】App Service 的.NET Version选择为.NET6,是否可以同时支持运行ASP.NET V4.8的应用呢?
|
8月前
|
开发框架 前端开发 .NET
C# Newtonsoft.Json.Formatting DateTime 日期格式化
C# Newtonsoft.Json.Formatting DateTime 日期格式化
162 0
|
8月前
|
开发框架 .NET 数据库连接
ASP.NET Core 标识(Identity)框架系列(一):如何使用 ASP.NET Core 标识(Identity)框架创建用户和角色?
ASP.NET Core 标识(Identity)框架系列(一):如何使用 ASP.NET Core 标识(Identity)框架创建用户和角色?
119 0