麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

C#里 JSON 序列化 與 反序列化

2019-11-17 02:32:43
字體:
供稿:網(wǎng)友

C#里 JSON 序列化 與 反序列化

一、 VS2008以上版本

        /// <summary>        ///  序列        /// </summary>        /// <typeparam name="T">對象類</typeparam>        /// <param name="t">類對象</param>        /// <returns>JSON字符串</returns>        public static string JsonSerializer<T>(T t)        {            // 將對象序列化為 javaScript 對象表示法 (JSON),并將 JSON 數(shù)據(jù)反序列化為對象。            DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));            // 創(chuàng)建其支持存儲區(qū)為內(nèi)存的流            MemoryStream ms = new MemoryStream();            // 將指定對象序列化為 Javascript 對象表示法 (JSON) 數(shù)據(jù),并將生成的 JSON 寫入流中            ser.WriteObject(ms, t);            // 寫入字節(jié)數(shù)組轉(zhuǎn)換字符串            string tojson = Encoding.UTF8.GetString(ms.ToArray());            // 關(guān)閉流            ms.Close();            // 返回JSON字符            return tojson;        }        /// <summary>        ///  反序列化        /// </summary>        /// <typeparam name="T">對象類</typeparam>        /// <param name="strJson">要反序列的JSON字符串</param>        /// <returns>返回對象</returns>        public static T JsonDeserializer<T>(string strJson)        {            // 將對象序列化為 JavaScript 對象表示法 (JSON),并將 JSON 數(shù)據(jù)反序列化為對象            DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));            // 創(chuàng)建其支持存儲區(qū)為內(nèi)存的流            MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(strJson));            // 以 JSON(JavaScript 對象表示法)格式讀取文檔流,并返回反序列化的對象。            T obj = (T)ser.ReadObject(ms);            // 返回            return obj;        }        /*          * 調(diào)用方法:         */        PRivate void button1_Click(object sender, EventArgs e)        {            student s = new student();            List<student> stu = new List<student>();            s.age = 11;            s.height = 12;            s.weight = 10;            s.name = "tao";            stu.Add(s);            student s2 = new student();            s2.age = 21;            s2.height = 22;            s2.weight = 20;            s2.name = "jian";            stu.Add(s2);            string json = JsonHelper.JsonSerializer < List<student>>(stu);            listBox1.Items.Add(json);            textBox1.Text = json;        }        private void button2_Click(object sender, EventArgs e)        {            List<student> s = JsonHelper.JsonDeserializer<List<student>>(textBox1.Text);            listBox1.Items.Add(s[0].name);        }        private void button4_Click(object sender, EventArgs e)        {            student s = new student();            s.age = 11;            s.height = 12;            s.weight = 10;            s.name = "tao222";            string json = JsonHelper.JsonSerializer<student>(s);            listBox1.Items.Add(json);            textBox1.Text = json;        }        private void button5_Click(object sender, EventArgs e)        {            student s = JsonHelper.JsonDeserializer<student>(textBox1.Text);            listBox1.Items.Add(s.name);        }        private void button3_Click(object sender, EventArgs e)        {            DataTable dt = getDataTable();            string json = JsonHelper.JsonSerializer(dt);            listBox1.Items.Add(json);            textBox1.Text = json;        }        private void button6_Click(object sender, EventArgs e)        {            DataTable dt = JsonHelper.JsonDeserializer<DataTable>(textBox1.Text);            listBox1.Items.Add(dt.Rows[0]["name"]);        }

二 、 VS2005 版本 網(wǎng)上有個封裝好的第三方很方便

第三方下載連接:http://download.csdn.net/detail/xinping_168/4710720

private void button1_Click(object sender, EventArgs e)        {            student s = new student();            List<student> stu = new List<student>();            s.age = 11;            s.height = 12;            s.weight = 10;            s.name = "tao";            stu.Add(s);            student s2 = new student();            s2.age = 21;            s2.height = 22;            s2.weight = 20;            s2.name = "jian";            stu.Add(s2);            string json = JsonConvert.SerializeObject(stu);            listBox1.Items.Add(json);            textBox1.Text = json;        }        private void button2_Click(object sender, EventArgs e)        {            List<student> s = JsonConvert.DeserializeObject<List<student>>(textBox1.Text);            listBox1.Items.Add(s[0].name);        }        private void button3_Click(object sender, EventArgs e)        {            student s = new student();            s.age = 11;            s.height = 12;            s.weight = 10;            s.name = "tao";            string json = JsonConvert.SerializeObject(s);            listBox1.Items.Add(json);            textBox1.Text = json;        }        private void button4_Click(object sender, EventArgs e)        {            student s = JsonConvert.DeserializeObject<student>(textBox1.Text);            listBox1.Items.Add(s.age);        }        private void button5_Click(object sender, EventArgs e)        {            DataTable dt = getDataTable();            string json = JsonConvert.SerializeObject(dt);            listBox1.Items.Add(json);            textBox1.Text = json;        }        private void button6_Click(object sender, EventArgs e)        {            DataTable dt = JsonConvert.DeserializeObject<DataTable>(textBox1.Text);            listBox1.Items.Add(dt.Rows[0]["name"]);        }


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 中文字幕综合在线观看 | 欧美中文字幕一区二区三区亚洲 | 久久成人视屏 | 日韩黄色免费在线观看 | 精品在线视频观看 | 亚欧在线免费观看 | 国产亚洲自拍一区 | 黄色免费高清网站 | 免费一级a毛片免费观看 | 久久久一区二区精品 | 久久精品欧美电影 | 欧美精品一区二区三区四区 | 日韩欧美电影一区二区三区 | 国产羞羞网站 | 九九热在线视频免费观看 | 深夜福利视频免费观看 | 欧美18—19sex性护士中国 | 国产精品观看在线亚洲人成网 | 亚洲一区二区网址 | 狼人狠狠干 | 欧美成人免费在线视频 | 中文字幕视频在线播放 | 日韩美女电影 | 欧美一区二区三区久久精品视 | 国产精品91在线 | 毛片a区 | 国产成人精品二区 | 成人综合一区二区 | 国产精品剧情一区二区三区 | 精国产品一区二区三区 | 色婷婷tv| 亚洲精品在线观看免费 | 亚洲精品 在线播放 | 羞羞电影在线观看www | 欧美一区二区三区久久精品视 | 成年人激情在线 | 黄色片视频免费观看 | 亚洲成年人免费网站 | 国产精选在线 | av国产在线被下药迷网站 | 最新午夜综合福利视频 |