zoukankan      html  css  js  c++  java
  • Json序列化与反序列化

     1:序列化类,需要引用命名空间:System.ServerModel.Web 和System.Runtime.Serialization

     public class JOSNHelper
        {
            public static string GetJosn<T>(T obj)
            {
                DataContractJsonSerializer josn = new DataContractJsonSerializer(typeof(T));
                using (MemoryStream ms=new MemoryStream())
                {
                    josn.WriteObject(ms,obj);
                    string szJson = Encoding.UTF8.GetString(ms.ToArray());
                    return szJson;
                }
            }

            public static T ParseFormJson<T>(string szJson)
            {
                T obj = Activator.CreateInstance<T>();
                using (MemoryStream ms=new MemoryStream(Encoding.UTF8.GetBytes(szJson)))
                {
                    DataContractJsonSerializer dcj = new DataContractJsonSerializer(typeof(T));
                    return (T)dcj.ReadObject(ms);
                }
            }
        }

    2:实例化的类

    public class Person
        {
            public int Id { get; set; }
            public string Name { get; set; }
            public string Sex { get; set; }
        }

    3:使用json

     public partial class WebForm1 : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                Person p1 = new Person() { Id=1, Name="男", Sex="女" };
                string mystr=JOSNHelper.GetJosn<Person>(p1);
                Label1.Text = mystr;
            }

            protected void btn1_Click(object sender, EventArgs e)
            {
                Person pa = JOSNHelper.ParseFormJson<Person>(Label1.Text);
                Label1.Text = pa.Name;
            }
        }

  • 相关阅读:
    非递归实现二叉树先序、中序和后序遍历
    领益科技:Windows Server 2012 R2 强制卸载域控制器
    Zabbix调优不完全指南(https://www.jianshu.com/p/2d911d55448f)
    Linux下基础查看命令
    Linux下的快捷键
    给Linux系统新增加一块硬盘
    领益智造:Windows中的备份和还原
    领益智造:AD中修改OU下面用户的属性
    领益科技:AD中批量创建域用户(创建Mac地址账号)
    Linux常见企业面试题
  • 原文地址:https://www.cnblogs.com/wangyhua/p/4050630.html
Copyright © 2011-2022 走看看