0

我正在寻找一种从节点 js 模仿 php 的 json_encode 行为的方法。下面是一个示例,展示了 php 对获取 json_encoded 的对象中的 url 所做的事情:

<?
$foo['url'] = "http://example.com/note/that/the/slashes/get/backslashed";
echo json_encode($foo);
?>

生成以下输出:

{"url":"http:\/\/example.com\/note\/that\/the\/slashes\/get\/backslashed"}

在此处使用 node.js 和 JSON.stringify 函数:

var foo = new Object();
foo.url = "http://example.com/note/that/the/slashes/do/not/get/backslashed"
console.log(JSON.stringify(foo));

我改为观察这个输出:

 {"url":"http://example.com/note/that/the/slashes/do/not/get/backslashed"}

你知道让 JSON.stringify 以与 PHP 相同的方式运行的干净方法吗?

额外信息:我意识到正确的 json 编码可能不需要这些斜杠,但我正在将 json 编码的对象发送到我无法控制的远程服务器,并且不喜欢没有反斜杠的它们。

更多额外信息:我尝试输入自己的反斜杠,然后调用 JSON.stringify 但 JSON.stringify 尽职尽责地正确转义了反斜杠,所以我最终得到了 \\/ 而不是我想要的 \/ 。

4

1 回答 1

5

如果只是斜线,您可以在转换/替换为。\/

于 2011-09-01T20:19:54.617 回答