欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#實現的json序列化和反序列化代碼實例

 更新時間:2015年06月05日 09:12:55   投稿:junjie  
這篇文章主要介紹了C#實現的json序列化和反序列化代碼實例,本文講解了兩種實現方法,并直接給出代碼示例,需要的朋友可以參考下
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);
    }


  }

相關文章

  • C#實現簡單的計算器小功能

    C#實現簡單的計算器小功能

    這篇文章主要為大家詳細介紹了C#實現簡單的計算器小功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • c# 以二進制讀取文本文件

    c# 以二進制讀取文本文件

    在當前目錄創(chuàng)建一個文件myfile.txt,對該文件具有讀寫權限
    2009-07-07
  • C# .net core HttpClientFactory用法及說明

    C# .net core HttpClientFactory用法及說明

    這篇文章主要介紹了C# .net core HttpClientFactory用法及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • C#實現計算器窗體程序

    C#實現計算器窗體程序

    這篇文章主要為大家詳細介紹了C#實現計算器窗體程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • c#構造初始化的順序淺析

    c#構造初始化的順序淺析

    這篇文章介紹了c#構造初始化的順序,有需要的朋友可以參考一下
    2013-08-08
  • C#窗體編程不顯示最小化、最大化、關閉按鈕的方法

    C#窗體編程不顯示最小化、最大化、關閉按鈕的方法

    這篇文章主要介紹了C#窗體編程不顯示最小化、最大化、關閉按鈕的方法,即windows forms編程中取消最小化、最大化、關閉按鈕,需要的朋友可以參考下
    2014-08-08
  • C#設計模式之觀察者模式實例講解

    C#設計模式之觀察者模式實例講解

    這篇文章主要介紹了C#設計模式之觀察者模式實例講解,本文詳細講解了觀察者模式的定義、優(yōu)缺點、代碼實例等,需要的朋友可以參考下
    2014-10-10
  • 基于switch你可能不知道的一些用法

    基于switch你可能不知道的一些用法

    本篇文章對switch的用法進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • Unity實現文本轉貼圖

    Unity實現文本轉貼圖

    這篇文章主要為大家詳細介紹了Unity實現文本轉貼圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • c#滾動字幕動畫窗體制作步驟

    c#滾動字幕動畫窗體制作步驟

    在本篇文章里小編給大家分享了c#滾動字幕動畫窗體制作步驟和相關代碼,需要的朋友們可以學習下。
    2019-02-02

最新評論