python读取json,python解析json文件

  python读取json,python解析json文件

  有问题:1

  感谢能给我进一步建议的人。我想使用python脚本和netmiko模块通过ssh连接到我的设备。我通过api请求ssh细节(json文件),并使用这些数据运行脚本。但是我得到了下面的错误。希望有人能给我指路。在

  我漏掉了一些东西,但是不知道怎么解决。请指正指导。谢谢你。在

  json文件创建为以下片段response=requests.post (URL,data=data,headers=headers,verify=false)

  dictionary_info=response.json()

  用open(devices.json , w )作为fp:

  json.dump(dictionary_info,fp,indent=4,sort_keys=True)

  文件,如下所示:

  ^{pr2}$

  当我运行下面的脚本(片段)时,它将返回下面的错误文件“devices.py ”,第18行,在

  打印(连接到设备:,设备[ip])

  TypeError:字符串索引必须是整数

  对于设备中的设备:

  尝试:

  打印( ~ * 79)

  打印(连接到设备:,设备[ip])

  连接=netmiko。connect handler(* *设备)

  print(connection.send_command(显示界面))

  connection.disconnect()

  除了netmiko_exceptions作为e:

  打印(失败,设备[ip],e)

  我应该能够根据json文件提供的ssh细节在每台设备上运行脚本和ssh。不知何故,代码需要进一步修改,但我不知道如何修改。请帮助我。谢谢你

  我编辑的内容device.json …我删除了大括号{},对象名 device 和 status ,只保留了list [],如下图[

  {

  用户名: scnpa ,

  ip: 10.10.10.1 ,

  密码: 123 ,

  设备类型:思科ios

  },

  {

  用户名: scnpa ,

  ip: 10.10.10.2 ,

  密码: 123 ,

  设备类型:思科ios

  },

  {

  用户名: scnpa ,

  ip: 10.10.10.3 ,

  密码: 123 ,

  设备类型:思科ios

  },

  {

  用户名: scnpa ,

  ip: 10.10.10.4 ,

  密码: 123 ,

  设备类型:思科ios

  }

  ]

  今天,我只需尝试nerror…然后运行脚本,它就会工作.使用上面可编辑的json文件。我知道这不是最终的解决方案,我会得到我之前分享的json文件(带花括号{},等等)。),或者有什么办法可以让我得到上面的格式[{},{},{}]?从JSONAPI响应创建一个文件,只得到{{},{}。{},{}]内容。在

  或者让它保持原样。在

  您可能需要在for循环部分修改python脚本。我尝试删除该设备,但我得到一个不同的错误。将“device”更改为另一个名称,但仍然显示错误“typeerror: string index必须是整数”。

  我不知道。对于设备中的设备:

  尝试:

  打印( ~ * 79)

  打印(连接到设备:,设备[ip])

  连接=netmiko。connect handler(* *设备)

  print(connection.send_command(显示界面))

  connection.disconnect()

  问题2:我创建了一个单独的帖子

  我还有一个关于从API读取响应json文件(字符串)查询的问题。例如,json响应如下{

  状态:成功,

  设备:[

  {

  型号: XXXX-A ,

  用户名: scnpa1 ,

  ip: 10.10.10.1 ,

  密码: 123 ,

  设备类型:思科ios

  },

  {

  型号: XXXX-A ,

  用户名: scnpa2 ,

  ip: 10.10.10.2 ,

  密码: 456 ,

  设备类型:思科ios

  }

  ]

  }

  如何确保只有特定的键/值,比如名称和密码,并且文件可以打印和创建为json文件(列表),可以作为python脚本的输入读取。我希望它看起来像下面这样{

  状态:成功,

  设备:[

  {

  用户名: scnpa1 ,

  ip: 10.10.10.1 ,

  密码: 123

  },

  {

  用户名: scnpa2 ,

  ip: 10.10.10.2 ,

  密码: 456

  }

  ]

  }

  但是我将使用下面的json参数来创建它response=requests.post (URL,data=data,headers=headers,verify=false)

  dictionary_info=response.json()

  用open(devices.json , w )作为fp:

  json.dump(dictionary_info,fp,indent=4,sort_keys=True)

  请告诉我。谢谢你

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: