日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#中JSON和对象之间互相转换功能示例

發布時間:2023/12/18 C# 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#中JSON和对象之间互相转换功能示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文實例講述了C#實現JSON和對象之間互相轉換功能。分享給大家供大家參考,具體如下:

1.首先是聲明用戶信息對象,DataContract修飾類,表示可以被解析成JSON,DataMember修飾屬性,Order表示 解析的順序,另外Lover是數組列表,表示女朋友個數

Address 表示送貨地址,DailyRecord? 表示日常記錄

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.Serialization; namespace FunctionTest.Model {[DataContract]public class UserInfo{[DataMember(Order =0)]public string UserName { get; set; }[DataMember(Order = 1)]public int Age { get; set; }[DataMember(Order = 2)]public int Gender { get; set; }[DataMember(Order =3)]public List<string> Lover { get; set; }[DataMember(Order = 4)]public ContactAddress Address { get; set; }[DataMember(Order = 5)]public Dictionary<string, string> DailyRecord {get; set;}}[DataContract]public class ContactAddress{[DataMember(Order =0)]public string Province { get; set; }[DataMember(Order = 1)]public string City { get; set; }[DataMember(Order = 2)]public string Country { get; set; }[DataMember(Order = 3)]public string Details { get; set; }} }

2.JSON幫助類 核心代碼

/// <summary> /// Json轉換成對象 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="jsonText"></param> /// <returns></returns> public static T JsonToObject<T>(string jsonText) {DataContractJsonSerializer s = new DataContractJsonSerializer(typeof(T));MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonText));T obj = (T)s.ReadObject(ms);ms.Dispose();return obj; } /// <summary> /// 對象轉換成JSON /// </summary> /// <typeparam name="T"></typeparam> /// <param name="obj"></param> /// <returns></returns> public static string ObjectToJSON<T>(T obj) {DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));string result = string.Empty;using (MemoryStream ms = new MemoryStream()){serializer.WriteObject(ms, obj);ms.Position = 0;using (StreamReader read = new StreamReader(ms)){result = read.ReadToEnd();}}return result; }

3.調用

//1.對象-->JSON UserInfo info = new UserInfo {Age = 10,Gender = 1,UserName = "劉德華",Lover = new List<string> { "美女1", "美女2", "美女3" },Address = new ContactAddress{Province = "湖南省",City = "長沙市",Country = "望城縣",Details = "某旮旯快遞找不到的地方"},DailyRecord = new Dictionary<string, string> { { "星期一", "吃飯" }, { "星期二", "洗衣服" }, { "星期三", "好事情" } } }; string json = ObjectToJSON<UserInfo>(info);

4.反序列化后的結果

?

復制代碼?代碼如下:

{"UserName":"劉德華","Age":10,"Gender":1,"Lover":["美女1","美女2","美女3"],"Address":{"Province":"湖南省","City":"長沙市","Country":"望城縣","Details":"某旮旯快遞找不到的地方"},"DailyRecord":[{"Key":"星期一","Value":"吃飯"},{"Key":"星期二","Value":"洗衣服"},{"Key":"星期三","Value":"好事情"}]}

總結

以上是生活随笔為你收集整理的C#中JSON和对象之间互相转换功能示例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。