Düzenli aralıklarla bir API'dan bazı veriler alıyorum ve daha sonra erişmek ve kullanmak için JSON verilerini veritabanına depolamak istiyorum.JSON python veritabanına depolamak
'{"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'}]}}}'
ben json_data = json.loads(above_data)
ve sonra nodes
bir listesini verir nodes_data = json_data["data"]["files"]["nodes"]
olarak nodes
getirebilir:
API itibaren bu örnekteki her zaman veri almak.
Bu nodes
verilerini Text
türünde data = Column(db.Text)
DB sütununa kaydetmek istiyorum. Her seferinde düğüm listesinde 10-15 değer olacak.
Nasıl depolarım? Birden fazla nodes
var ve gelecekte benim db içinde zaten kullanılabilir data
sütun eklemek/eklemek daha fazla nodes
bir şekilde ihtiyacım var.
Geçerli bir json alıyorum ve iç veri almak ve daha sonra kullanmak için nodes
tüm üzerinde döngü olabilir, bu yüzden json.loads(db_data_col)
yapmak istiyorum.
Db'de nasıl depolanacağım ve daha sonra geçerli json biçiminde erişilebileceğim konusunda kafam karıştı.
Düzenleme 1: Sqlite'i sınamak için kullanma. PostgresSQL'i gelecekte kullanabilir. Text
sütun türü ana noktasıdır.
Depolamak istediğiniz veritabanından bahsetmediniz. Uygulama veritabanı tipine bağlıdır.Ayrıca, google * json veri kaynağını * 'a yazarsanız, ne aradığınızı elde edersiniz –
Ne tür bir veritabanı kullanıyorsunuz? Çoğu, JSON içeriğinin bir metin alanı içine bir dize olarak dilini almanızı sağlar. Postgres, JSON verilerini doğrudan bir alanda depolayabileceğiniz özel bir JSON tipine sahiptir. Diğerleri JSON verilerini işlemek için en az özel operatörlere sahiptir. –
Eğer {"name": "hey", "count" gibi bir tek düğüm olması gerekiyorsa: 1} json.loads/dumps'ı körü körüne kullanabilirim. Benim endişem çok sayıda düğüm ve gelecekte daha fazla ekleme. – nml