博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[asp.net]C#实现json的序列化和反序列化
阅读量:6688 次
发布时间:2019-06-25

本文共 3369 字,大约阅读时间需要 11 分钟。

1 using System;  2 using System.Collections.Generic;  3 using System.Web.Script.Serialization;  4 using System.Configuration;  5 using System.Runtime.Serialization.Json;  6 using System.Runtime.Serialization;  7 using System.IO;  8 using System.Text;  9  10  11 namespace WebApplication1 12 { 13  14     //方法一:引入System.Web.Script.Serialization命名空间使用 JavaScriptSerializer类实现简单的序列化 15     [Serializable] 16     public class Person 17     { 18          19         private int id; 20         ///  21         /// id 22         ///  23         public int Id 24         { 25             get { return id; } 26             set { id = value; } 27         } 28  29         private string name; 30         ///  31         /// 姓名 32         ///  33         public string Name 34         { 35             get { return name; } 36             set { name = value; } 37         } 38     } 39  40     //方法二:引入 System.Runtime.Serialization.Json命名空间使用 DataContractJsonSerializer类实现序列化 41     //可以使用IgnoreDataMember:指定该成员不是数据协定的一部分且没有进行序列化,DataMember:定义序列化属性参数,使用DataMember属性标记字段必须使用DataContract标记类 否则DataMember标记不起作用。 42     [DataContract] 43     public class Person1 44     { 45          46         [IgnoreDataMember] 47         public int Id { get; set; } 48  49         [DataMember(Name = "name")] 50         public string Name { get; set; } 51         [DataMember(Name = "sex")] 52         public string Sex { get; set; } 53  54     } 55  56     public partial class _Default : System.Web.UI.Page 57     { 58         string constr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString; 59          60         protected void Page_Load(object sender, EventArgs e) 61         { 62              63             Person p1 = new Person(); 64             p1.Id = 1; 65             p1.Name = "dxw"; 66             Person p2 = new Person(); 67             p2.Id = 2; 68             p2.Name = "wn"; 69  70             List
listperson = new List
(); 71 listperson.Add(p1); 72 listperson.Add(p2); 73 74 JavaScriptSerializer js = new JavaScriptSerializer(); 75 //json序列化 76 string s = js.Serialize(listperson); 77 Response.Write(s); 78 79 80 81 //方法二 82 Person1 p11 = new Person1(); 83 p11.Id = 1; 84 p11.Name = "hello"; 85 p11.Sex = "男"; 86 DataContractJsonSerializer json = new DataContractJsonSerializer(p11.GetType()); 87 88 string szJson = ""; 89 90 //序列化 91 92 using (MemoryStream stream = new MemoryStream()) 93 94 { 95 96 json.WriteObject(stream, p11); 97 98 szJson = Encoding.UTF8.GetString(stream.ToArray()); 99 100 Response.Write(szJson);101 }102 103 //反序列化104 105 //using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(szJson)))106 107 //{108 109 // DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(People));110 111 // Person1 _people = (Person1)serializer.ReadObject(ms);112 113 //}114 }115 116 117 118 protected void Button1_Click(object sender, EventArgs e)119 {120 Response.Write(constr);121 }122 123 124 }

 

转载地址:http://qehao.baihongyu.com/

你可能感兴趣的文章
全局临时表
查看>>
谈谈加载(Loading)的那点事
查看>>
关于nginx的Job for nginx.service failed because the control process exited with error code.错误
查看>>
微信公众平台开发(108) 微信摇一摇
查看>>
OfType 使用LINQ查询动态数组中指定类型的元素
查看>>
linux环境中如何删除文件的前n行?
查看>>
.Net转Java自学之路—SpringMVC框架篇七(Json数据交互)
查看>>
jQuery通过name获取值
查看>>
团队任务二
查看>>
Python读写excel
查看>>
phpcms网站搬家 至 服务器 完整并且详细过程
查看>>
myBatis针对不同数据库的模糊查询
查看>>
列表转字典
查看>>
编译基于obs-studio的阿里巴巴直播工具tblive的过程和常见问题解决
查看>>
mac下使用gnu gcc
查看>>
windows cmd命令学习
查看>>
002-利润计算
查看>>
Tensorflow实现CNN
查看>>
543. Diameter of Binary Tree(两节点的最长路径)
查看>>
数字证书算法概念
查看>>