在我的 perl 脚本中,我通过 SNMP(在本例中为设备的 ip 地址)从我的网络中的 cisco 路由器收集 CDP 邻居信息来填充二维哈希。哈希允许我限制重复并捕获父女关系。
$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 都会有所帮助。此外,如果有人知道已经完成这项工作的任何开源脚本,我很乐意进行比较。