私のperlスクリプトでは、SNMPを介してネットワーク内のCiscoルーターからCDPネイバー情報(この場合はデバイスのIPアドレス)を収集することにより、2次元ハッシュを入力しました。ハッシュにより、重複を制限し、親娘の関係をキャプチャすることができました。
$name{$hostIP}{$neighbourIP} = $name;
ハッシュ化されたデータをD3.js(樹状図)で使用して、ルータートポロジまたは接続関係を示し、次のように再帰的にJSONでフォーマットされたデータが必要です。
{
name: "10.120.5.1",
children: [
{
name: "10.120.5.2",
children: [
{
name: "10.120.5.3",
children: [
{
name: "10.120.5.4"
},
{
name: "10.120.6.1"
},
{
name: "10.120.6.2"
},
{
name: "10.120.6.3"
}
]
}
]
}
]
}
誰かがライブラリまたは通常の印刷ステートメントを使用して、上記のようなハッシュ形式をJSONに変換する方法を示す例を提供できますか?Perlが推奨されますが、Python、Cなどの任意の言語が役立ちます。また、この仕事をするオープンソーススクリプトを誰かがすでに知っているなら、私は比較したいと思います。