5.7.4 Вывод в формате JSON
MySQL Shell предоставляет несколько вариантов форматирования вывода набора результатов в формате JSON:
-
jsonилиjson/pretty Эти варианты оба производят отформатированный JSON.
-
ndjsonилиjson/raw Эти варианты оба производят необработанный JSON, разделенный символами новой строки.
-
json/array Этот вариант производит необработанный JSON, заключённый в JSON-массив.
Вы можете выбрать эти форматы вывода, запустив MySQL Shell с параметром командной строки --result-format= или установив параметр конфигурации MySQL Shell valueresultFormat.
В пакетном режиме, для интеграции MySQL Shell с внешними инструментами, вы можете использовать параметр --json для управления обёрткой JSON для всего вывода при запуске MySQL Shell из командной строки. Когда включена обёртка JSON, MySQL Shell генерирует либо отформатированный JSON (по умолчанию), либо необработанный JSON, и значение параметра конфигурации MySQL Shell resultFormat игнорируется. Инструкции см. в разделе 5.7.5, «Обёртка JSON».
Пример 5.4 Вывод в формате отформатированного JSON (json или json/pretty)
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 Вывод в формате необработанного JSON с разделителями новой строки (ndjson или json/raw)
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)
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)
© 2025 Oracle
Licensed under the GPLv2 License.