国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

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

2019-11-17 02:32:43
字體:
來源:轉載
供稿:網友

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 數據反序列化為對象。            DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));            // 創建其支持存儲區為內存的流            MemoryStream ms = new MemoryStream();            // 將指定對象序列化為 Javascript 對象表示法 (JSON) 數據,并將生成的 JSON 寫入流中            ser.WriteObject(ms, t);            // 寫入字節數組轉換字符串            string tojson = Encoding.UTF8.GetString(ms.ToArray());            // 關閉流            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 數據反序列化為對象            DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));            // 創建其支持存儲區為內存的流            MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(strJson));            // 以 JSON(JavaScript 對象表示法)格式讀取文檔流,并返回反序列化的對象。            T obj = (T)ser.ReadObject(ms);            // 返回            return obj;        }        /*          * 調用方法:         */        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 版本 網上有個封裝好的第三方很方便

第三方下載連接: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"]);        }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 蕲春县| 丰城市| 静海县| 郁南县| 沛县| 南通市| 科尔| 桐城市| 柏乡县| 湘潭县| 亚东县| 叶城县| 桐柏县| 万荣县| 吴川市| 京山县| 淳安县| 金坛市| 西青区| 连州市| 睢宁县| 安化县| 穆棱市| 石门县| 耒阳市| 平南县| 南华县| 孝义市| 鹤岗市| 集安市| 尚志市| 长春市| 建阳市| 土默特左旗| 乌苏市| 炉霍县| 天津市| 霍邱县| 平阴县| 隆德县| 泽州县|