Documentation Home

5.7.5 JSON 包装

为了帮助将 MySQL Shell 与外部工具集成,--json当您从命令行启动 MySQL Shell 时,您可以使用该选项来控制所有 MySQL Shell 输出的 JSON 包装。该 --json选项仅对指定的 MySQL Shell 会话有效。

指定--json--json=pretty--json=raw打开会话的 JSON 包装。无论是否指定值, --json=pretty都会生成打印精美的 JSON。使用 --json=raw,生成原始 JSON。

resultFormat当打开 JSON 包装时,在配置文件或命令行(带有--result-format 选项或其别名之一) 上 为 MySQL Shell 配置选项指定的任何值都将被忽略。

指定--json=off关闭会话的 JSON 包装。当关闭 JSON 包装或未为会话请求时,结果集将以 resultFormatMySQL Shell 配置选项指定的格式正常输出。

示例 5.7 带有漂亮打印的 JSON 包装(--json--json=pretty)的 MySQL Shell 输出

Press CTRL+C to copy
$> echo "select * from world_x.city where countrycode='AUT'" | mysqlsh --json --sql --uri user@localhost:33060 or $> echo "select * from world_x.city where countrycode='AUT'" | mysqlsh --json=pretty --sql --uri user@localhost:33060 { "hasData": true, "rows": [ { "ID": 1523, "Name": "Wien", "CountryCode": "AUT", "District": "Wien", "Info": { "Population": 1608144 } }, { "ID": 1524, "Name": "Graz", "CountryCode": "AUT", "District": "Steiermark", "Info": { "Population": 240967 } }, { "ID": 1525, "Name": "Linz", "CountryCode": "AUT", "District": "North Austria", "Info": { "Population": 188022 } }, { "ID": 1526, "Name": "Salzburg", "CountryCode": "AUT", "District": "Salzburg", "Info": { "Population": 144247 } }, { "ID": 1527, "Name": "Innsbruck", "CountryCode": "AUT", "District": "Tiroli", "Info": { "Population": 111752 } }, { "ID": 1528, "Name": "Klagenfurt", "CountryCode": "AUT", "District": "Kärnten", "Info": { "Population": 91141 } } ], "executionTime": "0.0067 sec", "affectedRowCount": 0, "affectedItemsCount": 0, "warningCount": 0, "warningsCount": 0, "warnings": [], "info": "", "autoIncrementValue": 0 }

--json=raw示例 5.8 使用原始 JSON 包装 ( )的 MySQL Shell 输出

Press CTRL+C to copy
$> echo "select * from world_x.city where countrycode='AUT'" | mysqlsh --json=raw --sql --uri user@localhost:33060 {"hasData":true,"rows":[{"ID":1523,"Name":"Wien","CountryCode":"AUT","District":"Wien","Info":{"Population":1608144}},{"ID":1524,"Name":"Graz","CountryCode":"AUT","District":"Steiermark","Info":{"Population":240967}},{"ID":1525,"Name":"Linz","CountryCode":"AUT","District":"North Austria","Info":{"Population":188022}},{"ID":1526,"Name":"Salzburg","CountryCode":"AUT","District":"Salzburg","Info":{"Population":144247}},{"ID":1527,"Name":"Innsbruck","CountryCode":"AUT","District":"Tiroli","Info":{"Population":111752}},{"ID":1528,"Name":"Klagenfurt","CountryCode":"AUT","District":"Kärnten","Info":{"Population":91141}}],"executionTime":"0.0117 sec","affectedRowCount":0,"affectedItemsCount":0,"warningCount":0,"warningsCount":0,"warnings":[],"info":"","autoIncrementValue":0}