最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#實(shí)現(xiàn)的json序列化和反序列化代碼實(shí)例

 更新時(shí)間:2015年06月05日 09:12:55   投稿:junjie  
這篇文章主要介紹了C#實(shí)現(xiàn)的json序列化和反序列化代碼實(shí)例,本文講解了兩種實(shí)現(xiàn)方法,并直接給出代碼示例,需要的朋友可以參考下
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類實(shí)現(xiàn)簡單的序列化
  [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類實(shí)現(xiàn)序列化
  //可以使用IgnoreDataMember:指定該成員不是數(shù)據(jù)協(xié)定的一部分且沒有進(jìn)行序列化,DataMember:定義序列化屬性參數(shù),使用DataMember屬性標(biāo)記字段必須使用DataContract標(biāo)記類 否則DataMember標(biāo)記不起作用。
  [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);
    }


  }

相關(guān)文章

最新評(píng)論

常宁市| 巴东县| 海盐县| 崇礼县| 蓝田县| 八宿县| 绥宁县| 柘荣县| 青田县| 阳谷县| 筠连县| 太康县| 夏邑县| 留坝县| 驻马店市| 宁津县| 当阳市| 保康县| 江西省| 金塔县| 玉龙| 邛崃市| 正镶白旗| 元阳县| 瑞昌市| 甘南县| 桐梓县| 芮城县| 兴山县| 永靖县| 宿迁市| 建始县| 泾阳县| 交城县| 小金县| 迁安市| 德清县| 开封市| 吴川市| 策勒县| 宾阳县|