Documentation Home

5.7.4 JSON格式输出

MySQL Shell 提供了许多 JSON 格式选项来打印结果集:

json或者json/pretty

这些选项都可以生成漂亮的 JSON。

ndjson或者json/raw

这些选项都生成由换行符分隔的原始 JSON。

json/array

此选项生成包装在 JSON 数组中的原始 JSON。

您可以通过使用命令行选项启动 MySQL Shell 或设置 MySQL Shell 配置选项 来选择这些输出格式 。 --result-format=valueresultFormat

在批处理模式下,为了帮助将 MySQL Shell 与外部工具集成,您可以--json 在从命令行启动 MySQL Shell 时使用该选项来控制所有输出的 JSON 包装。当打开 JSON 包装时,MySQL Shell 生成漂亮打印的 JSON(默认)或原始 JSON,并且 resultFormat忽略 MySQL Shell 配置选项的值。有关说明,请参阅 第 5.7.5 节,“JSON 包装”

示例 5.4 以漂亮打印的 JSON 格式输出(jsonjson/pretty

Press CTRL+C to copy
MySQL localhost:33060+ ssl world_x JS > shell.options.set('resultFormat','json') MySQL localhost:33060+ ssl world_x JS > session.sql("select * from city where countrycode='AUT'") { "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 } } 6 rows in set (0.0031 sec)

示例 5.5 以带有换行符(ndjsonjson/raw)的原始 JSON 格式输出

Press CTRL+C to copy
MySQL localhost:33060+ ssl world_x JS > shell.options.set('resultFormat','ndjson') MySQL localhost:33060+ ssl world_x JS > session.sql("select * from city where countrycode='AUT'") {"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}} 6 rows in set (0.0032 sec)

示例 5.6 以原始 JSON 格式包装在 JSON 数组 ( json/array)中的输出

Press CTRL+C to copy
MySQL localhost:33060+ ssl world_x JS > shell.options.set('resultFormat','json/array') MySQL localhost:33060+ ssl world_x JS > session.sql("select * from city where countrycode='AUT'") [ {"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}} ] 6 rows in set (0.0032 sec)