在Javascript对象上使用JSON.stringify插入反斜杠

时间:2016-03-31 16:26:30

标签: javascript json mongoose

我想创建一个这样的对象,然后将其转换为可以存储在我的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\"}"

这就是我想要的,减去反斜杠。

1 个答案:

答案 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,您可以将定义变量定义为数字(第二种情况)。