簡體   English   中英

如何將原始字符串化 JSON 存儲在 sqlite 列中?

[英]How can I store raw stringified JSON in a sqlite column?

我正在使用帶有 python 的 sqlite3,並且我正在嘗試一種簡單的方法將原始 JSON 存儲到名為“數據”的特定列中。 每次我嘗試將字符串化的 JSON 連接到 INSERT 語句中時,都會出現語法錯誤。 有沒有辦法解決這個問題?

data = str({'test': 21, 'test2':'hello'})
query = f"INSERT INTO table (DATA) VALUES ('{data}')"

數據庫中列的類型是什么? 我建議將您的 JSON 作為字符串/varchar 類型存儲到數據庫中。 您也可以將其轉換為 blob,但我認為字符串更易於處理。

想通了,而不是在執行 c.execute 之前連接字符串,您可以只執行 c.execute("INSERT INTO table (c1, c2, c3) VALUES (?,?,?)", [c1,3]] )

你不能字符串化、存儲和解析嗎

db.run("CREATE TABLE IF NOT EXISTS table (data TEXT)");

stmt = db.prepare("INSERT INTO table VALUES (?)");
stmt.run(JSON.stringify(data));
stmt.finalize();


  db.each("SELECT rowid AS id, info FROM table", (err, row) => {
      console.log(row.id + ": " + JSON.parse(row.data).test);
  });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM