Frage:
Wie ordne ich Feldnamen in JSON-Daten den Feldnamen eines .NET-Objekts zu, wenn ich JavaScriptSerializer.Deserialize verwende?
Antwort:
Die JavaScriptSerializer-Klasse bietet keine direkte Feldnamenzuordnungsfunktion. Sie können für diesen Zweck jedoch die flexiblere DataContractJsonSerializer-Klasse nutzen.
Um Feldnamen zuzuordnen:
<code>[DataContract] public class DataObject { }</code>
<code>[DataMember(Name = "user_id")] public int UserId { get; set; } [DataMember(Name = "detail_level")] public string DetailLevel { get; set; }</code>
Beispiel:
<code>using System.Runtime.Serialization.Json; public class Test { public static void Main() { string json = "{\"user_id\":1234, \"detail_level\":\"low\"}"; DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(DataObject)); using (MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(json))) { DataObject dataObject = serializer.ReadObject(ms) as DataObject; Console.WriteLine(dataObject.UserId); // 输出:1234 Console.WriteLine(dataObject.DetailLevel); // 输出:low } } }</code>
Hinweis:
Das obige ist der detaillierte Inhalt vonWie ordne ich JSON-Feldnamen mithilfe von JavaScriptSerializer (oder Alternativen) .NET-Objekteigenschaften zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!