我想插入一行带有JSONB内容的行作为原始查询。问题是,无论何处插入任何“非平凡的”JSON对象,我都会收到错误。
这些是我的原始SQL查询的示例:
所有这些错误:SequelizeBaseError:类型为json的无效输入语法
'INSERT INTO "sometable" ("id", "createdAt", "updatedAt", "custom_data") VALUES (DEFAULT, NOW(), NOW(), \'"{something:\"value\"}"\')';
'INSERT INTO "sometable" ("id", "createdAt", "updatedAt", "custom_data") VALUES (DEFAULT, NOW(), NOW(), \'"{\"aaa\":\"ss15\"}"\')';
最后一个有效,但只能使用整数值:
'INSERT INTO "sometable" ("id", "createdAt", "updatedAt", "custom_data") VALUES (DEFAULT, NOW(), NOW(), \'"{a:10}"\')';
我已经尝试了很多可能的组合来转义类似JSON的字符串,甚至插入真正的JS对象,但没有任何效果。
答案 0 :(得分:3)
首先尝试JSON.stringify()
:
var customData = JSON.stringify({"name":"George Washington","presidentNo":1});