JSONを既知の型またはディクショナリオブジェクトにデシリアライズする際に問題はありませんが、入力が何になるのかわからない場合はどうですか?具体的に私は、キーと値のペアのフラットまたはネストされたセットを表すJSON文字列を受信したことに言及しています:JSON.NETを使用してデシリアライズする
{
foo: 'bar',
baz: 42
}
または
{
foo:
{
bar: 42,
baz: ['foo', 'bar', 'baz']
}
}
しかし、どのような入力がキーでないケースについて値のペアではなく、配列、または他の入れ子になったオブジェクト(配列を含む)のオブジェクトの配列?
[
{ foo: 'bar', baz: [ 1, 2, 3 ] },
{ foo: 'baz', bar: [ 4, 5, 6 ] }
]
私の目標は、上記のいずれかを逆シリアル化してメンバーを繰り返すことができる単一のクラスを持つことです。入力はどのような構造でもかまいませんので、すでに定義したタイプに一致するデータはないと思います。
私はこれを行う方法を見つけることができませんでした。誰でもガイダンスはありますか?
編集:
は、JSON文字列をJToken.Parseやすい十分なようです。有用な次のステップは、メンバーを反復し、JArrayとJObjectを別々に処理することです。
はあなたがダイナミックにdeserialisingと考えたことがありますか? http://stackoverflow.com/questions/4535840/deserialize-json-object-into-dynamic-object-using-json-net –
はい、私は入力が配列のない場合に動作するようには思えません。キー。 – joelc
キーのない配列はどういう意味ですか? – Abion47