Как я могу назначить переменные для json ответа? - PullRequest
1 голос
/ 03 февраля 2020

После запуска скрипта в 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 полей для каждого запроса, так что это проще, я думаю.

Я хочу назначить переменные для каждого поля, потому что я хочу вставить их в таблицу в базе данных.

Мне просто нужно запустить другой скрипт, чтобы получить все значения с переменными, которые могут быть с Php или Python или Perl .

1 Ответ

4 голосов
/ 03 февраля 2020

Вы можете хранить их в list из dictionaries и обращаться к ним по 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...