Heim  >  Artikel  >  Backend-Entwicklung  >  JSON-Serialisierungs- und Deserialisierungscodebeispiele, implementiert in C#

JSON-Serialisierungs- und Deserialisierungscodebeispiele, implementiert in C#

高洛峰
高洛峰Original
2017-01-18 09:14:121791Durchsuche

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);
    }
 
 
  }

Weitere Artikel zu in C# implementierten JSON-Serialisierungs- und Deserialisierungscodebeispielen finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn