最佳答案我已經能夠拿出是將JSON作爲表添加到數據庫上飛得到的結果的兩個字符串(我做這種方式因爲字典不能保證維持秩序。)
TABLECONFIG = 'data_result'
def jsontodb(conn, jsonarray):
inits = reduce(lambda x, y: x.union(y.keys()), jsonarray, set())
conn.execute("CREATE TABLE " + TABLECONFIG + " (" +
str(map(lambda x: x.encode('UTF-8'), inits)).encode('UTF-8').strip('[]') + ");")
for i in jsonarray:
d = map(lambda y: str(map(lambda x: x.encode('UTF-8'), y)).strip('[]'), zip(*i.items()))
conn.execute("INSERT INTO " + TABLECONFIG + " (" + d[0] + ") VALUES (" + d[1] + ");")
conn.commit()
DBCONFIG = '/work/django.sqlite3'
def pullquery(query):
p = loads(oqr.main(
[str(x) for x in shlex.split(query.encode('UTF-8'))]
))
conn = sqlite3.connect(DBCONFIG)
jsontodb(conn, p)
return conn
給予我想要的結果,但是這隻能如果JSON至多1層深(雖然我猜想這可能是固定它的已經很漂亮了,
我猜JSON存儲/檢索爲數據庫中的字符串。所以不存在類似於數據庫的查詢。您可以應用python支持的任何字符串操作。 – Rohan
您可能想要對客戶端進行過濾和排序(即在使用javascript的網頁內)。這減少了你的負載,你只需要把JSON放入網頁。 – rumpel
謝謝,我想知道這是否會更有效,但考慮到目前的數據庫是本地緩存無論如何我認爲不是。您是否認爲試圖從JSON中快速創建表格會起作用? – jhoyla