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

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

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

在做asp.net和unity進(jìn)行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é)定的一部分且沒有進(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)文章

  • 基于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)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • C# DateTime.Compare()方法案例詳解

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

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

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

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

    C#文件路徑Path類介紹

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

    C# 對MongoDB 進(jìn)行增刪改查的簡單操作實例

    這篇文章介紹了C# 對MongoDB 進(jìn)行增刪改查的簡單操作實例,有需要的朋友可以參考一下
    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ù)器共享文件夾

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

最新評論

贺兰县| 元阳县| 惠州市| 宁武县| 浦城县| 江西省| 绥江县| 信丰县| 泸水县| 临沭县| 隆子县| 东莞市| 三都| 华池县| 福建省| 舟曲县| 昌都县| 靖安县| 正定县| 西丰县| 崇左市| 威信县| 河间市| 工布江达县| 临汾市| 库尔勒市| 西林县| 桃园市| 会昌县| 沅陵县| 芒康县| 恩平市| 东港市| 乌鲁木齐县| 青海省| 孟连| 崇明县| 灵石县| 称多县| 霍山县| 达州市|