定期的にAPIからデータを取得していて、アクセスして後で使用するためにJSONデータをデータベースに保存したいと考えています。PythonでデータベースにJSONを保存する
'{"data": {"cursor": null, "files": {"nodes": [{u'code': u'BOPhmYQg5Vm', u'date': 1482244678,u'counts': 2, u'id': u'1409492981312099686'}, {u'code': u'g5VmBOPhmYQ', u'date': 1482244678,u'counts': 5, u'id': u'1209968614094929813'}]}}}'
私はjson_data = json.loads(above_data)
、その後nodes
のリストを与えるnodes_data = json_data["data"]["files"]["nodes"]
としてnodes
フェッチすることができます
はAPIから、私はこのサンプルで毎回データを取得します。
このnodes
データをdata = Column(db.Text)
のText
タイプのDB列に保存します。毎回、ノードリストに10〜15の値が入ります。
保存方法を教えてください。複数のnodes
があり、将来的には私のdbのdata
列に既にnodes
を追加/追加できるような方法で必要です。
json.loads(db_data_col)
私は有効なjsonを取得し、nodes
のすべてをループして内部データを取得し、後で使用できるようにしたいと思いますが。
DBに保存して後で有効なjson形式でアクセスする方法が混乱しています。
編集1:テスト用にSqliteを使用する。将来、PostgresSQLを使用することができます。 Text
カラムのタイプが主なポイントです。
保存したいデータベースについては言及していません。実装はデータベースの種類に依存します。また、google *でjsonデータソースを *に書き込むと、探しているものが得られます –
どのような種類のデータベースを使用していますか?ほとんどの場合、JSONの内容を文字列としてテキストフィールドに書き込むことができます。 Postgresには専用のJSON型があり、JSONデータを直接フィールドに格納することができます。他の人には少なくともJSONデータを処理する特別な演算子があります。 –
{"name": "hey"、 "count":1}のような単一のノードでなければならない場合、私は盲目的にjson.loads/dumpsを使用できます。私の心配は、多くのノードであり、将来的には多くを追加しています。 – nml