0

ノードjsからphpのjson_encodeの動作を模倣する方法を探しています。これは、json_encoded を取得するオブジェクト内にある URL に対して php が行うことを示す例です。

<?
$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 に答える