如何将 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);