【发布时间】:2021-12-29 19:54:33
【问题描述】:
我有以下 json 内容,从 REST API 请求返回,我正在尝试迭代内容并希望打印每个 : 对。我知道我可以简单地使用 打印(json.dumps(config, indent=4))
然而,我想弄清楚如何构造嵌套循环以用于迭代键。我首先假设我有一个字典列表,即。遍历列表,然后遍历列表中的每个字典并打印 ;一对。但是,每个字典中都有列表,这些列表中也包含字典。
[
{
"name": "<name>",
"snippets": [
{
"name": "show_processes",
"label": "Show Processes",
"sql": "SELECT * FROM system.runtime",
"can": {}
}
],
"host": "<host-url>",
"port": "<port>",
"database": "<database>",
"db_timezone": null,
"query_timezone": null,
"schema": "<schema>",
"after_connect_statements": null,
"dialect": {
"supports_cost_estimate": false,
"automatically_run_sql_runner_snippets": true,
"connection_tests": [
"connect",
"kill",
"database_timezone",
"database_version",
"tmp_db",
"cdt",
"tmp_db_views"
],
"supports_inducer": false,
"supports_multiple_databases": false,
"supports_persistent_derived_tables": true,
"has_ssl_support": true,
"name": "mike",
"label": "<db>",
"supports_streaming": true
},
"dialect_name": "sql",
"example": false,
"managed": false,
"username": "<username>",
"uses_oauth": false,
"tunnel_id": null,
"can": {
"index": true,
"index_limited": true,
"show": true
}
},
{
"name": "<name>",
"snippets": [],
"host": "<host_url>",
"port": "<port>",
"database": "<db>",
"db_timezone": null,
"query_timezone": null,
"schema": null,
"after_connect_statements": null,
"dialect": {
"supports_cost_estimate": false,
"connection_tests": [
"connect",
"query"
],
"supports_inducer": false,
"supports_multiple_databases": false,
"has_ssl_support": true,
"name": "<name>",
"label": "<dbName>"
},
"dialect_name": "<dbType>",
"example": false,
"managed": false,
"username": "<username>",
"tunnel_id": null,
"can": {
"index": true,
"index_limited": true,
"show": true
}
},
{
"name": "<name>",
"snippets": [
{
"name": "show_processes",
"label": "Show Processes",
"sql": "SHOW PROCESSLIST",
"can": {}
}
],
"host": "<host-url>",
"port": "<port>",
"database": "<db>",
"db_timezone": null,
"query_timezone": null,
"schema": null,
"after_connect_statements": null,
"dialect": {
"supports_cost_estimate": false,
"automatically_run_sql_runner_snippets": true,
"connection_tests": [
"connect",
"kill",
"query",
"database_timezone",
"database_version",
"tmp_db",
"mysql_tmp_tables",
"cdt",
"tmp_db_views"
],
"supports_inducer": false,
"supports_multiple_databases": false,
"has_ssl_support": true,
"name": "<name>",
"label": "dbName>",
"supports_streaming": true,
},
"dialect_name": "<dbType>",
"example": false,
"managed": false,
"username": "<username>",
"tunnel_id": null,
"can": {
"index": true,
"index_limited": true,
"show": true
}
}
]
【问题讨论】:
-
你能解释一下你所说的pair是什么意思吗?
-
配对,打印
和 ,即。 “位置”:“圣地亚哥”。打印键是位置,值是圣地亚哥 -
明白了,看我贴的答案,递归就可以得到。