jsonからSQLITEのテーブル作成データ収集

「APIからデータ収集。sqliteに保存したい。JSONの構造を確認して

キーからカラムを入力して。。。。ってキーが100個近くあるんですが・・・」

CREATE文書くだけで1時間とかありえない!

保存のためのテーブルをサクッと作りたい。ツール作りました。

ツールページは下記↓

json整形→SQL テーブル CREATE作成

 

[使い方]

1 jsonを入力して解析
テキストボックスにjsonをテキスト入力。
実行するボタンをクリック後 結果をすべて表示するにチェック
2 jsonから取り出す構造を探す。
下部エディターに整形されたjson構造体が表示される
構造は、 {  ・・・}でマーカーされるのでその中の [ ]をコピーする
コピーしたデータを再度1の枠に入れて実行する。
3.SQL文の取り出しを行いテーブルを作成。
sql create tableのエディタ部にコマンドが表示される。後は、コピーしてSQLを実行するだけ。
table_nameは、書き換えてください。
なお、カラム名にヘッダーをつけるに文字を入れると「ヘッダー文字+キー」で生成されます。
4.具体的な使用方法
さて、テーブルを作ったけどこれでどうするの?という場合のサンプル。
PHPで収集する時のサンプル。
ひとまず、create文でsqliteのテーブルは作ったとする。

上記でurlからjsonを取得し、配列にする。

ここで問題なのがjsonの中のキーがいつでも存在するわけでは無いということです。

上記の様に、kiの二回目にはりんごがない場合だってある。

これを定形の クエリ文で INSERTしたりupdateしたりすると、対応しないキーに苦しめられることもある。
nullで入力するとしても、変数を個数分だけ書かなくては行けないため現実的でない。

なので


などとして 予めキーの配列を作っておき、ループで該当したキーとデータを再度収集する。


あとは、取り出したデータの回数分の bindValueと、それに該当する「?,?,?」を生成(rtrimで最後の1文字[,]削除を忘れないように)

これでターゲットのURLを変えて繰り返すだけ。

**注意点 カラム名に(を入れてはいけないよ。

koo

Java,PHP,Ruby,android,ios,C#,C++,python,vba,unity,sqlなんでも手を出しては挫折する系。電子工作はじめました。

あわせて読みたい

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です