【发布时间】:2020-10-28 16:06:32
【问题描述】:
我开始研究python,结果是JSON格式时遇到一个问题。
我的 JSON 是这样的:
[{'eventid': '30', 'clock': '1602601344', 'name': 'Zabbix server has been restarted (uptime < 10m)', 'severity': '2', 'hosts': [{'hostid': '10084', 'name': 'Zabbix server'}], 'acknowledges': []}, {'eventid': '42', 'clock': '1603128324', 'name': 'Zabbix server has been restarted (uptime < 10m)', 'severity': '2', 'hosts': [{'hostid': '10084', 'name': 'Zabbix server'}], 'acknowledges': []}, {'eventid': '44', 'clock': '1603138524', 'name': 'Zabbix server has been restarted (uptime < 10m)', 'severity': '2', 'hosts': [{'hostid': '10084', 'name': 'Zabbix server'}], 'acknowledges': []}]
我尝试将结果转换为带有json_normalize 的表格,但我的结果是:
Table after json_normalize
我看到带有示例的 json_normalize 文档,但我不明白如何将“名称”放在“主机”列上。
我的功能是:
def get_event_get(zbx_srv, token):
try:
json_event_get = {
"jsonrpc": "2.0",
"method": "event.get",
"params": {
"selectHosts": ["name"],
"output": ["eventid", "clock", "name", "severity"],
"select_acknowledges": "extend",
"sortfield": ["clock"],
"filter": {
"value": ["1"],
"object": ["0"]
},
},
"auth": token,
"id": 1
}
event_get_request = requests.post(zbx_srv, json=json_event_get)
event_get = event_get_request.json()['result']
print(event_get)
table_event = json_normalize(event_get)
print(table_event)
return event_get
except Exception as e:
print("Erro: %s" %(e))
谁能帮我理解一下?
【问题讨论】: