집 >백엔드 개발 >C#.Net 튜토리얼 >C#이 JSON과 개체 간의 변환 기능을 구현하는 방법의 예
이 글에서는 C#에서 JSON과 객체 간 변환 기능을 주로 소개하고, C#에서 객체와 json 간 변환하는 동작 스킬을 예제 형식으로 자세히 분석해 놓았으니 필요하신 분들은 참고하세요
본 내용의 예시는 다음과 같습니다. 기사에서는 C#을 사용하여 JSON과 개체 간의 변환 기능을 구현한다고 설명합니다. 참조용으로 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
1. 먼저 사용자 정보 개체인 DataContract 수정 클래스를 선언합니다. 즉, DataMember 수정 속성인 Order는 JSON으로 구문 분석될 수 있습니다. Parsing, 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과 개체 간의 변환 기능을 구현하는 방법의 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!