JavaScriptのオブジェクトをJSON形式でダンプ(簡易版)
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"); //見づらいので改行追加
もっと簡単なやりかたがあるんじゃないかと思いますが、とりあえずメモ。