JSON String 直接存取 SQLite3 的方法

JSON Nov 13, 2015

最近在写的 Node.js App 的时候,需要直接将 对象 直接存入数据库,如果使用 JSON.stringify(json) 把 JSON 对象转换为字符串直接存入,会报错显示查询语句出错

var data = {
	name : "shin"
}

存入 JSON String 的时候需要使用 escape() 进行转义序列编码,取出的时候需要使用 unescape() 进行转义序列解码

var sqlite3 = require("sqlite3").verbose();
var db = new sqlite3.Database(config.dbName);
db.serialize(function() {
	db.run('CREATE TABLE source (data TEXT DEFAULT NULL)');
	db.run('INSERT INTO data VALUES (' + escape(JSON.stringify(data)) + ')');
	db.each("SELECT * FROM source", function(err, row) {
		data = JSON.parse(unescape(row.data));
	});
});
db.close();

=...=

Tags

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.