Прежде всего, я ищу подобные вопросы, но ни один не смог ответить на мой вопрос выше.Я надеюсь, что вы, ребята, могли бы посоветовать мне дальше.
Я запускаю сценарий для извлечения данных из списка сетевого оборудования и сохранения значения в файл json, например ниже
json-1 = {
"channel": "scanner",
"action": "create_device",
"table": "U2",
"device":[]
}
data = "device_name","ip_address","lldp_neighbors"
ЗатемСтрока кода используется для получения данных devicename, ipaddress и lldp, возврата значения, его извлечения и сохранения в списке данных выше.Например,
my[data[0]] = connection.find_prompt().rstrip('>') #to get hostname
my[data[1]] = device['ip'] #to get ip address
my[data[2]] = connection.send_command('show lldp neighbors | display xml')
#to get lldp data in xml format
json1["device"].append(my) #append my data to device
Для моих [data [2]] соседи lldp вернут данные в формате xml и преобразуют эти данные xml в файл формата json, как показано ниже
ДЕТАЛИ СОСЕДЕЙ LLDP: -
"lldp_neighbors": [
{
"local-port": "xe-3/0/4.0",
"parent-interface": "ae31.0",
"chassis-id": "b0:c6:9a:63:80:40",
"port-info": "xe-0/0/0/0.0",
"system-name": "host.jnpr.net"
}
Мои вопросы здесь, как я могу добавить детали соседей lldp выше (данные json) к temp [data [2]] json-1 так, чтобы окончательный файл json json.dump (json-1), fp) сгенерированный будет как ниже, вложенный json файл
{
"channel": "scanner",
"action": "create_device",
"table": "U2",
"device": [
{
"device_name": "rtr1.wer",
"ip_address": "1.1.1.1",
"lldp_neighbors": [
{
"local-port": "xe-3/0/4.0",
"parent-interface": "ae31.0",
"chassis-id": "b0:c6:9a:63:80:40",
"port-info": "xe-0/0/0/0.0",
"system-name": "host.jnpr.net"
}
]
]
}
Я действительно надеюсь, что кто-то может указать мне правильный путь ... я застрял ... пожалуйста, помогите мне.Спасибо.