Home  >  Article  >  Backend Development  >  json serialization and deserialization code examples implemented in C#

json serialization and deserialization code examples implemented in C#

高洛峰
高洛峰Original
2017-01-18 09:14:121749browse

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;
 
 
namespace WebApplication1
{
 
  //方法一:引入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);
 
 
 
      //方法二
      Person1 p11 = new Person1();
      p11.Id = 1;
      p11.Name = "hello";
      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);
 
      //}
     }
     
 
 
    protected void Button1_Click(object sender, EventArgs e)
    {
      Response.Write(constr);
    }
 
 
  }

For more articles related to json serialization and deserialization code examples implemented in C#, please pay attention to the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn