如何将 js object 字符串化,以便在 Socket.io 上发送时可以使用多个双引号
How to stringify js object, so that multiple double quotes are possible when sending it over Socket.io
嗯,我想主要问题已经在标题中定义了,但一些特殊信息是:
我正在尝试向 socket.io api 发送事件。
对于事件类型部分,这工作正常,但是在数据包 body(事件数据)部分(应该采用这种格式)上使用 JSON.stringify 时:
"{\"msg\":\"test\"}"
),它只是 returns 这个无效的字符串:"{"msg":"test"}"
。
我也尝试使用单引号而不是双引号,但服务器不接受它们,所以我猜它有一个用于这些字符串的自定义解析器。
如果有人知道该怎么做,我将非常高兴听到您的意见。
您可以通过双重字符串化得到您的结果。
const data = {
msg: 'test'
};
const stringified = JSON.stringify(data);
const doubleStringified = JSON.stringify(stringified);
console.log(doubleStringified);
嗯,我想主要问题已经在标题中定义了,但一些特殊信息是:
我正在尝试向 socket.io api 发送事件。
对于事件类型部分,这工作正常,但是在数据包 body(事件数据)部分(应该采用这种格式)上使用 JSON.stringify 时:
"{\"msg\":\"test\"}"
),它只是 returns 这个无效的字符串:"{"msg":"test"}"
。
我也尝试使用单引号而不是双引号,但服务器不接受它们,所以我猜它有一个用于这些字符串的自定义解析器。
如果有人知道该怎么做,我将非常高兴听到您的意见。
您可以通过双重字符串化得到您的结果。
const data = {
msg: 'test'
};
const stringified = JSON.stringify(data);
const doubleStringified = JSON.stringify(stringified);
console.log(doubleStringified);