我如何将变量分配给json响应?

问题描述 投票:1回答:1

在python中运行脚本后,结果得到了这个。

[["Query 3", "2020-01-29 15:41:53", "10.1.1.5", "10.8.0.2", "SELECT p.name, XXX XXX"], ["Query 11", "2020-01-29 15:41:52", "10.1.1.5", "10.8.0.2", "SELECT CONNECTION_ID()\\G"], ["Query 12", "2020-01-29 15:41:52", "10.1.1.5", "10.8.0.2", "SELECT current_user()\\G"]]

如何为查询中的每个字段分配变量?

[["queryID", "date", "ipIntern", "ipBlabla", "queryFullfilled"], ["queryID], REPEAT....

每个查询总会有5个字段,所以我想它更容易。

我想为每个字段分配变量,因为我想将它们插入数据库的表中。

我只需要运行另一个脚本来获取带有PhpPythonPerl可能具有的变量的所有值。

python php perl
1个回答
0
投票

您可以将它们存储在listdictionaries中并通过key访问它们,例如,这将构建list

responses = [["Query 3", "2020-01-29 15:41:53", "10.1.1.5", "10.8.0.2", "SELECT p.name, XXX XXX"], ["Query 11", "2020-01-29 15:41:52", "10.1.1.5", "10.8.0.2", "SELECT CONNECTION_ID()\\G"], ["Query 12", "2020-01-29 15:41:52", "10.1.1.5", "10.8.0.2", "SELECT current_user()\\G"]]
fields = ["queryID", "date", "ipIntern", "ipBlabla", "queryFullfilled"]

parsed_response = [
    dict(zip(fields, response)) for response in responses
]

print(parsed_response)

>>> [{'queryID': 'Query 3', 'date': '2020-01-29 15:41:53', 'ipIntern': '10.1.1.5', 'ipBlabla': '10.8.0.2', 'queryFullfilled': 'SELECT p.name, XXX XXX'}, {'queryID': 'Query 11', 'date': '2020-01-29 15:41:52', 'ipIntern': '10.1.1.5', 'ipBlabla': '10.8.0.2', 'queryFullfilled': 'SELECT CONNECTION_ID()\\G'}, {'queryID': 'Query 12', 'date': '2020-01-29 15:41:52', 'ipIntern': '10.1.1.5', 'ipBlabla': '10.8.0.2', 'queryFullfilled': 'SELECT current_user()\\G'}]

这是一个示例,如果您想访问field响应的n值:

n = 1
field = "ipIntern"
print(parsed_response[n][field])


>>> 10.1.1.5
© www.soinside.com 2019 - 2024. All rights reserved.