C# で json 形式のデータを処理しようとしていますが、問題にアプローチする適切な方法を判断するのに問題があります。私の問題は、json 形式のデータが不明な形式になることです (奇妙に聞こえるかもしれませんが、読み進めてください)。基本的に、json 形式のデータは名前と値のペアのコレクションであり、値はネストされた名前と値のペアの配列である場合とそうでない場合があります。さらに面白くするために、名前と値のペアの配列のネストを無限に続けることができます。
例: 次のようなデータがあるとします…</p>
{
"1": {
"1.1": {
"1.1.1": "value1",
"1.1.2": "value2",
"1.1.3": "value3"
},
"1.2": "value4",
"1.3": {
"1.3.1": {
"1.3.1.1": "value5",
"1.3.1.2": "value6"
},
"1.3.1.2": "value7",
"1.3.1.3": "value8"
}
}
}
残念ながら、ネストがどの程度発生するかはわかりません。また、技術的には、特定のメッセージにどのような名前/値のペアが含まれるかもわかりません。
これをネストされた一連の hastables に簡単に解析できるようにする、C# でサポートされているメカニズムはありますか?
私は次のようなことをしたいと思っています (このコードは構文的に 100% 正しいわけではなく、再帰を介して実行した方がよいことに注意してください … しかし、アイデアは理解できます)。
Hashtable ht = [deserialize data method](jsonformattedstring);
foreach (Hashtable nested in ht)
{
If (nested.count > 1)
{
Foreach (hashtable next in nested)
…
}
}