Heim > Backend-Entwicklung > C++ > Wie ordne ich JSON-Feldnamen mithilfe von JavaScriptSerializer (oder Alternativen) .NET-Objekteigenschaften zu?

Wie ordne ich JSON-Feldnamen mithilfe von JavaScriptSerializer (oder Alternativen) .NET-Objekteigenschaften zu?

Linda Hamilton
Freigeben: 2025-01-10 06:50:46
Original
117 Leute haben es durchsucht

How to Map JSON Field Names to .NET Object Properties using JavaScriptSerializer (or Alternatives)?

JavaScriptSerializer.Deserialize verwenden: JSON-Feldnamen den .NET-Objekteigenschaften zuordnen

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:

  1. Fügen Sie das DataContract-Attribut zu Ihrer Datenobjektklasse hinzu:
<code>[DataContract]
public class DataObject
{
}</code>
Nach dem Login kopieren
  1. Verwenden Sie das DataMember-Attribut, um den JSON-Eigenschaftsnamen anzugeben, der dem Objektfeld entspricht:
<code>[DataMember(Name = "user_id")]
public int UserId { get; set; }

[DataMember(Name = "detail_level")]
public string DetailLevel { get; set; }</code>
Nach dem Login kopieren

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>
Nach dem Login kopieren

Hinweis:

  • Wenn Sie das DetailLevel-Feld als Aufzählung beibehalten möchten, können Sie einen benutzerdefinierten JSON-Konverter verwenden, um die Konvertierung zwischen Zeichenfolgen- und Aufzählungswerten durchzuführen.
  • DataContractJsonSerializer unterstützt auch die Feldnamenzuordnung in Silverlight.

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage