ホーム › フォーラム › A5:SQL Mk-2掲示板 › SQLの実行結果をJSON形式でエクスポートする機能がほしい
-
投稿者投稿
-
Darkゲスト
A5Mk2というとても便利なソフトを使わせていただきいつもありがたく思っています。とても足を向けて寝られそうにありません。
要望なのですが、A5Mk2でJSON形式でSQLの実行結果のテーブルをエクスポートすることは可能にならないでしょうか?
ここ最近のツールではデータのインポートがJSONのみ対応のものも少なからずあり、現在はXMLで出力したあとその出力を別ツールでJSONに変換してJSONのみ対応のツールに読ませる、といった形で作業せざるを得ません。
もしJSONの形式で出力ができた場合その手間を大きく節約することが出来るのですが検討していただけないでしょうか?よろしくおねがいします。
松原正和キーマスターDarkさんこんにちは。
JSON形式でしか、インポートできないというのは今どきですね。とりあえず、Version 2.15.0 beta 14でエクスポートのみ対応してみました。
対応時に準拠すべき規格は次のようなものでしょうか?。いくつかあるようでわかりにくいですね。
RFC 8259
IETF STD 90
ECMA-404 2nd edition
とりあえず、以下のサイトを参考に実装しています。
https://www.json.org/JSONで出力するとき、データ型として日付時刻型とバイナリ型が問題になりそうな気がしたのですが、とりあえず、
日付時刻型:YYYY-MM-DDTHH:mm:ss.sssZ (ISO 8601 Extended Format、 Z はタイムゾーン)
バイナリデータ型:Base64
で出力するようにしています。
あと、トップレベルのオブジェクトは配列(行情報の配列)にしています。これでDarkさんの使用されるツールで取り込みできますでしょうか?。(できればどのようなツールを使われているかお教えいただければありがたいです。)
エクスポートできれば、当然インポートということになると思うのですが、インポートについては、もう少しお待ちください。DarkゲストFirefoxのCookieのうち必要なところだけSQLiteからエキスポートし、項目名の修正を一部行ってChromeのアドオンのEditThisCookieを使って読み込ませる用途で使いました。
ほぼ変更なく読み込ませることができたのですが、文字列型や文字型の場合ダブルクオーテーションされていないとEditThisCookieは読み込まない仕様でしたのでその辺りの選択肢があるとより便利かなと思いました。
日付型に関してはこの仕様で大丈夫かと思います(おそらく必要に応じてエクスポート前にSQL上で変換する人が大半でしょうし)。バイナリはこちらの使うソフトでの読み書きの必要性が薄く検証できていません。
トップレベルのオブジェクトはこちらの利用するソフトも配列でしたのでこれで大丈夫です。
JSONでの書き込みとなるとSQLとJSONの構造の違いがモロに響きそうで大変かと思いますしこちらは基本的にGUI上で読み書きすることも多く現状はなくても大丈夫そうです。松原さんの空いたときで大丈夫です。素早い対応ありがとうございました。
Darkゲストなんか返信見逃されていそうなのでageます
松原正和キーマスターDarkさんこんにちは。
すみません。すみません、見過ごしていました。通常の文字列はダブルクォートで括っていたのですが、CLOBとして認識されるようなデータ型の場合括られていないようでした。Version 2.15.0 beta 17で修正しました。
-
投稿者投稿