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

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

 更新時間:2013年12月12日 16:20:46   作者:  
這篇文章主要介紹了C#實現(xiàn)json的序列化和反序列化實例代碼,有需要的朋友可以參考一下

在做asp.net和unity進行http通信的時候,當(dāng)unity客戶端發(fā)出表單請求的時候,我要將他要請求的數(shù)據(jù)以json的格式返回給客戶端,讓客戶端來解析。服務(wù)器端這一塊就涉及到j(luò)son的序列化和反序列化的問題。

兩種方法都有例子,第一種是用泛型集合來存儲的對象,然后將集合序列化一下;第二種是直接序列化的一個對象

復(fù)制代碼 代碼如下:

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類實現(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類實現(xiàn)序列化
    //可以使用IgnoreDataMember:指定該成員不是數(shù)據(jù)協(xié)定的一部分且沒有進行序列化,DataMember:定義序列化屬性參數(shù),使用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);
        }


    }

相關(guān)文章

  • 基于C#實現(xiàn)Json轉(zhuǎn)Lua的操作指南

    基于C#實現(xiàn)Json轉(zhuǎn)Lua的操作指南

    JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式,它的語法基于 JavaScript 對象表示法,簡單、易讀,同時被許多編程語言支持,本文給大家介紹了如何基于C#實現(xiàn)Json轉(zhuǎn)Lua的操作指南,需要的朋友可以參考下
    2024-12-12
  • C#將配置文件appsetting中的值轉(zhuǎn)換為動態(tài)對象調(diào)用

    C#將配置文件appsetting中的值轉(zhuǎn)換為動態(tài)對象調(diào)用

    這篇文章主要介紹了將配置文件appsetting中的值轉(zhuǎn)換為動態(tài)對象調(diào)用 ,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-09-09
  • C#中JSON轉(zhuǎn)為實體類和List以及結(jié)合使用

    C#中JSON轉(zhuǎn)為實體類和List以及結(jié)合使用

    開發(fā)中經(jīng)常遇到將JSON字符串轉(zhuǎn)換為List的需求,下面這篇文章主要給大家介紹了關(guān)于C#中JSON轉(zhuǎn)為實體類和List以及結(jié)合使用的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-01-01
  • C# DateTime.Compare()方法案例詳解

    C# DateTime.Compare()方法案例詳解

    這篇文章主要介紹了C# DateTime.Compare()方法案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 可空類型Nullable<T>用法詳解

    可空類型Nullable<T>用法詳解

    本文詳細講解了可空類型Nullable<T>的用法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • C#文件路徑Path類介紹

    C#文件路徑Path類介紹

    這篇文章介紹了C#中的文件路徑Path類,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • C# 對MongoDB 進行增刪改查的簡單操作實例

    C# 對MongoDB 進行增刪改查的簡單操作實例

    這篇文章介紹了C# 對MongoDB 進行增刪改查的簡單操作實例,有需要的朋友可以參考一下
    2013-09-09
  • 淺談C# 非模式窗體show()和模式窗體showdialog()的區(qū)別

    淺談C# 非模式窗體show()和模式窗體showdialog()的區(qū)別

    下面小編就為大家?guī)硪黄獪\談C# 非模式窗體show()和模式窗體showdialog()的區(qū)別。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • WinForm導(dǎo)出文件為Word、Excel、文本文件的方法

    WinForm導(dǎo)出文件為Word、Excel、文本文件的方法

    這篇文章主要介紹了WinForm導(dǎo)出文件為Word、Excel、文本文件的方法,本文直接給出實現(xiàn)代碼,代碼中包含相應(yīng)注釋,需要的朋友可以參考下
    2015-03-03
  • C#如何連接服務(wù)器共享文件夾

    C#如何連接服務(wù)器共享文件夾

    這篇文章主要為大家詳細介紹了C#如何連接服務(wù)器共享文件夾,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05

最新評論

绿春县| 本溪市| 资源县| 仙游县| 葫芦岛市| 盘山县| 略阳县| 石柱| 东乌珠穆沁旗| 八宿县| 大悟县| 集安市| 兴义市| 大宁县| 上思县| 奈曼旗| 彰化县| 夏津县| 新营市| 抚远县| 台州市| 德阳市| 巴中市| 汶川县| 夹江县| 舞阳县| 沾化县| 土默特左旗| 临海市| 三亚市| 洞口县| 平果县| 黑山县| 游戏| 若尔盖县| 赤水市| 桐柏县| 云林县| 开化县| 化德县| 济宁市|