Es gibt ein Stück Zeichenfolge, die ich mit DataContractJsonSerializer
deserialize möchte. Es gibt ein Mitglied in der JSON-Zeichenfolge, die manchmal ein Objekt oder eine Zeichenfolge sein kann. Wie so:DataContractJsonSerializer löst InvalidCastException für Member unterschiedlicher Typen aus
{ a: 1, b: 2, c: "c" }
oder
{ a: 1, b: 2, c: {c1: 3, c2: 4} }
Ich kenne die Struktur des Objekts im zweiten Fall (wir die Klasse nennen Inner
), aber wie kann DataContractJsonSerializer
konvertieren ein Objekt von zwei möglichen Arten?
Ich habe versucht, einen expliziten und impliziten Cast-Operator von string
zu Inner
zu konvertieren, aber es wird nicht getroffen. Ein InvalidCastException
wird immer geworfen.