読者です 読者をやめる 読者になる 読者になる

JavaScriptのオブジェクトをJSON形式でダンプ(簡易版)

dev

toSource()を使ってJSON形式にすると日本語がUnicodeエスケープ(\u89AB)されてしまいます。unescape()してみたのですが、うまく変換できなかったので力技で変換してみました。
FireFox2.0.0.3 on WinXPSP2で動作確認済み。

var sdata = data.toSource();
sdata = sdata.replace("(","","g"); //最初の'('を除去
sdata = sdata.replace(")","","g"); //最後の')'を除去
//revert double-byte chars
sdata = sdata.replace(/\\u[0-9A-F]+/g,function(match){
    var code = match.replace("\\u","0x");
    return String.fromCharCode(code);
});
sdata = sdata.replace("{","\n{","g"); //見づらいので改行追加

もっと簡単なやりかたがあるんじゃないかと思いますが、とりあえずメモ。