[asp.net]C#实现json的序列化和反序列化
2023-09-27 14:29:23 时间
在做asp.net和unity进行http通信的时候,当unity客户端发出表单请求的时候,我要将他要请求的数据以json的格式返回给客户端,让客户端来解析。服务器端这一块就涉及到json的序列化和反序列化的问题。
接下来就来举个列子,当然包括两种方法(本篇参考自:http://www.csharpwin.com/csharpspace/10822r2908.shtml)
两种方法都有例子,第一种是用泛型集合来存储的对象,然后将集合序列化一下;第二种是直接序列化的一个对象
using System; using System.Collections.Generic; using System.Web.Script.Serialization; using System.Configuration; using System.Runtime.Serialization.Json; using System.Runtime.Serialization; using System.IO; using System.Text;
//方法一:引入System.Web.Script.Serialization命名空间使用 JavaScriptSerializer类实现简单的序列化 [Serializable] public class Person private int id; /// summary /// id /// /summary public int Id get { return id; } set { id = value; } private string name; /// summary /// 姓名 /// /summary public string Name get { return name; } set { name = value; } //方法二:引入 System.Runtime.Serialization.Json命名空间使用 DataContractJsonSerializer类实现序列化 //可以使用IgnoreDataMember:指定该成员不是数据协定的一部分且没有进行序列化,DataMember:定义序列化属性参数,使用DataMember属性标记字段必须使用DataContract标记类 否则DataMember标记不起作用。 [DataContract] public class Person1 [IgnoreDataMember] public int Id { get; set; } [DataMember(Name = "name")] public string Name { get; set; } [DataMember(Name = "sex")] public string Sex { get; set; } public partial class _Default : System.Web.UI.Page string constr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString; protected void Page_Load(object sender, EventArgs e) Person p1 = new Person(); p1.Id = 1; p1.Name = "dxw"; Person p2 = new Person(); p2.Id = 2; p2.Name = "wn"; List Person listperson = new List Person listperson.Add(p1); listperson.Add(p2); JavaScriptSerializer js = new JavaScriptSerializer(); //json序列化 string s = js.Serialize(listperson); Response.Write(s);
p11.Sex = "男"; DataContractJsonSerializer json = new DataContractJsonSerializer(p11.GetType()); string szJson = ""; //序列化 using (MemoryStream stream = new MemoryStream()) json.WriteObject(stream, p11); szJson = Encoding.UTF8.GetString(stream.ToArray()); Response.Write(szJson); //反序列化 //using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(szJson))) // DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(People)); // Person1 _people = (Person1)serializer.ReadObject(ms);
ASP输出JSON数据及客户端jQuery处理方法 首先ASP处理JSON需要json官方提供的JSON For ASP 封装类文件,下载地址:http://code.google.com/p/aspjson/downloads/list 下载最新的JSON_2.0.4.asp文件备用。
ASP.NET中XML转JSON的方法 原文:ASP.NET中XML转JSON的方法 许多应用程序都将数据存储为XML的格式,而且会将数据以JSON的格式发送到客户端以做进一步处理。要实现这一点,它们必须将XML格式转换为JSON格式。 XML转JSON代码
//数据库中有 typeid 和 typename 字段 var json;$(document).ready(function () { //ready-start$.
蓬莱仙羽 麦子学院讲师,游戏蛮牛专栏作家,CSDN博客专家,热爱游戏开发,热爱Coding!
相关文章
- C#中的自动赋值
- C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 外部服务调用、内部服务调用优化,面向服务化的
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 主管可以看下属的数据
- 在C#后端处理一些结果然传给前端Javascript或是jQuery
- ArcGIS Runtime WPF(.net C#)开发简明教程 1 -初识 & 第一个项目
- 使用AForge.NET Framework打开摄像头并截图 C#
- ASP.NET Core C# 反射 & 表达式树 (第三篇)
- ASP.NET Core C# 反射 & 表达式树 (第二篇)
- C# ASP.NET MVC HtmlHelper用法大全
- 在C#代码中应用Log4Net(三)Log4Net中配置文件的解释
- C# ZXing.net解码测试(QRCode、DataMatrix、1D-Barcode一维码条码)
- Asp.net(C#)常用正则表达式封装
- c#asp.net url 传递中文参数要使用 System.Web.HttpUtility.UrlEncode 而不能使用Server.UrlEncode
- C#入门代码
- C#中一道关于ADO.NET的基础练习题
- C#快速实现IList非泛型类接口的自定义类作为数据源
- C#.NET开源项目、机器学习、Power BI (转载)
- .NET(C#) 对象的拷贝(浅拷贝和深拷贝)
- ASP.NET Core(C#) 存储上传的文件接口及实现方法
- ASP.NET Core(C#) 使用RSACryptoServiceProvider实现公钥和私钥加解密工具类
- .NET(C#)将十进制数四舍五入保留第一个非零小数(Math.Round())
- .Net(C#)中使用指针
- asp.net(c#)中文验证码程序
- 使用C#解析XMIND文件格式
- c# tabcontrol事件以及上下文菜单