このページは機械翻訳したものです。

5.7.4 JSON形式の出力

MySQL壳には,結果セットを出力するためのいくつかのJSON形式オプションが用意されています:

jsonまたはjson /漂亮

これらのオプションは,どちらも整形出力JSONを生成します。

ndjsonまたはjson /生

これらのオプションはどちらも改行で区切られた原始JSONを生成します。

json /数组

このオプションは、JSON配列にラップされた原始JSONを生成します。

これらの出力形式を選択するには,MySQL壳を——result-format =价值コマンドラインオプションで起動するか,MySQL壳構成オプションresultFormatを設定します。

バッチモードではMySQL壳を外部ツールと統合するために,——jsonオプションを使用して,コマンドラインからMySQL壳を起動するときのすべての出力のJSONラッピングを制御できます。JSONラッピングがオンの場合,MySQL壳は整形出力JSON(デフォルト)または原始JSONを生成し,resultFormatMySQL壳構成オプションの値は無視されます。その手順は,セクション5.7.5“JSONラッピング”を参照してください。

例5.4整形出力JSON形式での出力(jsonまたはjson /漂亮

MySQL localhost:33060+ ssl world_x JS > shell.options.set('resultFormat','json')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": "District":"North Austria", "Info": {"Population": 188022}} {"ID": 1526, "Name": "萨尔茨堡","CountryCode": "AUT", "District": "萨尔茨堡","Info": {"Population": "奥地利","CountryCode": " 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 /生

MySQL localhost:33060+ ssl world_x JS > shell.options.set('resultFormat','ndjson') MySQL localhost:33060+ ssl world_x JS > session。sql(“select *从城市countrycode = AUT”){" ID ": 1523年,“名字”:“维也纳”,“countrycode”:“AUT”、“区”:“维也纳”,“信息”:{“人口”:1608144}}{" ID ": 1524年,“名字”:“格拉茨”,“countrycode”:“AUT”、“区”:“施泰尔马克”,“信息”:{“人口”:240967}}{" ID ": 1525年,“名字”:“林兹”,“countrycode”:“AUT”、“区”:“北奥地利”,“信息”:{“人口”:188022}}{" ID ": 1526,“名字”:“萨尔斯堡”、“CountryCode”:“AUT”、“区”:“萨尔斯堡”,“信息”:{“人口”:144247}}{" ID ": 1527年,“名字”:“因斯布鲁克”、“CountryCode”:“AUT”、“区”:“Tiroli”,“信息”:{“人口”:111752}}{" ID ": 1528年,“名字”:“克拉根福”、“CountryCode”:“AUT”、“区”:“克恩顿州”,“信息”:{“人口”:91141}}6行组(0.0032秒)

例5.6 JSON配列でラップされた原始JSON形式の出力(json /数组

MySQL localhost:33060+ ssl world_x JS > shell.options.set('resultFormat','json/array')sql(“select *从城市countrycode = AUT”)[{" ID ": 1523年,“名字”:“维也纳”,“countrycode”:“AUT”、“区”:“维也纳”,“信息”:{“人口”:1608144}},{" ID ": 1524年,“名字”:“格拉茨”,“countrycode”:“AUT”、“区”:“施泰尔马克”,“信息”:{“人口”:240967}},{" ID ": 1525年,“名字”:“林兹”,“countrycode”:“AUT”、“区”:“北奥地利”,“信息”:{“人口”:188022}},{" ID ": 1526,“名字”:“萨尔斯堡”、“CountryCode”:“AUT”、“区”:“萨尔斯堡”,“信息”:{“人口”:144247}},{" ID ": 1527年,“名字”:“因斯布鲁克”、“CountryCode”:“AUT”、“区”:“Tiroli”,“信息”:{“人口”:111752}},{" ID ": 1528年,“名字”:“克拉根福”、“CountryCode”:“AUT”、“区”:“克恩顿州”,“信息”:{“人口”:91141}}]6行组(0.0032秒)