DataContractJsonSerializer クラスを使用して混合型の JSON 配列を逆シリアル化する際に問題があります。無駄な解決策を探すのに多くの時間を費やしたので、先に進んでここで質問しようと思いました.
基本的に、以下のような JSON 文字列を取得しています。位置 0 に Int32 があり、位置 1 に文字列があり、位置 2 にカスタム クラスのインスタンスがあるリストに逆シリアル化する配列を取得したいと思います。
[
2,
"Mr. Smith",
{
"num":169,
"name":"main street",
"state":66
}
]
次のようにシリアライズを作成するだけの場合:
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(List<object>))
実際には、位置 0 で Int32 を取得し、位置 1 で String を取得します。ただし、位置 2 では null オブジェクトを取得するだけです。
私がやろうとしていることさえ可能かどうか誰にも分かりますか? 消費している JSON の構造を制御することはできません。可能であれば、サードパーティのアセンブリを使用せずにこれを実現したいと考えています。