Dieser Artikel stellt hauptsächlich die Funktion der Konvertierung zwischen JSON und Objekten in C# vor und analysiert die Betriebsfähigkeiten der Konvertierung zwischen Objekten und JSON in C# im Detail in Form von Beispielen
Das Beispiel in diesem Artikel beschreibt, wie C# die Konvertierungsfunktion zwischen JSON und Objekten implementiert. Geben Sie es wie folgt an alle weiter:
1. Deklarieren Sie zunächst das Benutzerinformationsobjekt, die geänderte Klasse DataContract, was bedeutet, dass es in JSON analysiert werden kann. Das geänderte Attribut DataMember stellt die Reihenfolge dar des Parsings und Lover ist eine Array-Liste, die die Anzahl der Freundinnen angibt
Adresse stellt die Lieferadresse dar, DailyRecord stellt tägliche Aufzeichnungen dar
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-Hilfeklassen-Kerncode
/// <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; }
//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);
Das obige ist der detaillierte Inhalt vonBeispiel dafür, wie C# die Konvertierungsfunktion zwischen JSON und Objekten implementiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!