JSON整形Bookmarklet

最近、JSONを返すAPIを作っていて、そのドキュメントを書く時にJSONが整形されてると読みやすいのでそうしてる。
というかJSON整形されてないと読めない。

そのためにこれまではJSON整形サービスを使っていたけど、未公開の情報を外に送信するのは気持ち悪い・危ないのでBookmarkletにした。

ChromeJSONの結果が表示されている状態で以下を実行。

var pre = document.body.getElementsByTagName('pre')[0],
str = JSON.stringify(JSON.parse(pre.innerHTML), null, '    ');
str = str.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#039;").replace(/</g,"&lt;").replace(/>/g,"&gt;");
document.body.innerHTML = '<textarea style="width: 100%;height: 100%;">' + str + '</textarea>';