Heim > Backend-Entwicklung > C++ > Wie deserialisiere ich verschachteltes JSON mit dynamischen Schlüsseln in C#-Klassen?

Wie deserialisiere ich verschachteltes JSON mit dynamischen Schlüsseln in C#-Klassen?

Barbara Streisand
Freigeben: 2025-01-19 21:51:11
Original
386 Leute haben es durchsucht

How to Deserialize Nested JSON with Dynamic Keys into C# Classes?

Verschachteltes JSON in C#-Klasse deserialisieren

Deserialisieren Sie die JSON-Antwort in eine C#-Klasse. Der Schlüssel besteht darin, die Klassenstruktur mit den gesamten JSON-Daten abzugleichen. Hier ist die Lösung zum Deserialisieren des angegebenen JSON:

JSON-Struktur:

<code>{
    "results": {
        "jobcodes": {
            "1": { ... },
            "2": { ... },
            ...
        }
    }
}</code>
Nach dem Login kopieren

Frage:

Sie berücksichtigen nicht die dynamischen Schlüssel („1“ und „2“) im verschachtelten „Jobcodes“-Objekt.

Lösung:

Um Objekte mit dynamischen Schlüsseln zu verarbeiten, verwenden Sie Dictionary<string, JobCode>:

<code class="language-csharp">class Results
{
    [JsonProperty("jobcodes")]
    public Dictionary<string, JobCode> JobCodes { get; set; }
}</code>
Nach dem Login kopieren

Vollständige Klassenstruktur:

<code class="language-csharp">class RootObject
{
    [JsonProperty("results")]
    public Results Results { get; set; }
}

class JobCode
{
    [JsonProperty("_status_code")]
    public string StatusCode { get; set; }
    [JsonProperty("_status_message")]
    public string StatusMessage { get; set; }
    [JsonProperty("id")]
    public string Id { get; set; }
    [JsonProperty("name")]
    public string Name { get; set; }
}</code>
Nach dem Login kopieren

Deserialisierung:

JSON deserialisieren in RootObject Klasse:

<code class="language-csharp">RootObject obj = JsonConvert.DeserializeObject<RootObject>(jsonResponse);</code>
Nach dem Login kopieren

Ergebnis:

Sie können obj.Results.JobCodes.Values erhalten, indem Sie List<JobCode> besuchen. Jedes JobCode verfügt über einen entsprechenden Attributwert von JSON.

Das obige ist der detaillierte Inhalt vonWie deserialisiere ich verschachteltes JSON mit dynamischen Schlüsseln in C#-Klassen?. 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