我想创建一个这样的对象,然后将其转换为可以存储在我的mongodb中的JSON
var value1="1"
var value2="2"
var obj = {field1:value1,field2:value2}
JSON.stringify(obj)
不幸的是,这会产生:
{\field1\:\1\,\field2\:\2\}
仅供参考,我使用的是Mongoose,我正在尝试推动(obj)。 Console.log显示在我对字符串进行字符串化后立即添加反斜杠。
我的实际代码是:
var newPaymentMethod = {
token:token, type: result.cardType, number: result.last4, expiration: result.expirationDate};
看起来它成功地做了我想要的,但副作用是反斜杠。这是我的数据库中显示的字段:
\"token\":\"cpkp86\",\"type\":\"MasterCard\",\"number\":\"4444\",\"expiration\":\"01/2018\"}"
这就是我想要的,减去反斜杠。
答案 0 :(得分:0)
这是与猫鼬相关的问题,首先尝试:click(阅读评论)。或者,如果您不想阅读:
JSON.stringify(obj.toObject({minimize:false}));
我想在你的代码中指出的是一件事:
而不是:
var value1="1"
var value2="2"
这样做:
var value1 = 1,
value2 = 2;
当你在引号之间加上数字时,它们被视为字符串,这会给你带来很多麻烦。第一个场景中的value1 + value2
将给出12("foo" + "bar" = foobar
),同时预期输出为3,您可以将定义变量定义为数字(第二种情况)。