Wie Deserialize [jSonextsionData] Dictionary mit CastingC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Wie Deserialize [jSonextsionData] Dictionary mit Casting

Post by Anonymous »

[jSonextsionData] ermöglicht es Ihnen, Elemente eines JSON -Dokuments zu serialisieren, das keine übereinstimmenden Eigenschaften auf dem Zielobjekt mit dem Wörterbuch aufweist, das mit dem [jSonextsionSectionData] -attribut dekoriert ist. Beispiel: < /p>

Code: Select all

var json = "{\r\n \"sampleClass\":{ \"name\":\"Name\"} ,
\"sampleOtherClass\":{ \"name\":\"OtherName\"} ,\r\n  \"X\": \"Jan\"\r\n}";
< /code>

und < /p>

var result  =JsonConvert.DeserializeObject(json);
< /code>

und < /p>

public class Test
{
public string X { get; set; }

[JsonExtensionData]
public Dictionary Y { get; set; }
}
< /code>

Das Wörterbuch sollte solche Elemente enthalten: < /p>

Dictionary students = new Dictionary()
{
{ "sampleClass", new ClassName { Name="MyName" } },
{ "sampleOtherClass", new SampleOtherClass { Name="MyName" } }
};
< /code>

Das bedeutet, dass wir für Knoten -Sampleklass eine Objekt -Sampleklasse erstellen möchten und als Nächstes das Wörterbuch y addieren möchten. {name: "name"} < /p>

Die Quelle:
https://dotnetfiddle.net/mhu6me

 update: < /strong> < /p>

Jetzt verwendet. [JSonextsionData] Wörterbuch zum Deserialisieren /Serialisieren Es bringt Probleme, zwei Sammlungen zu haben. < /P>

public class Class1
{
public string Code { get; set; }

public string Name { get; set; }

public bool IsActive { get; set; }

[JsonExtensionData]
public Dictionary _JTokenProperty { get; set; }

public Dictionary Properties1 { get; set; } = new Dictionary();
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post