オールドスクールな infogami スタイルの SITEINFO から JSON を、

javascript:
(function(){
  var result = document.evaluate('//textarea[@class="autopagerize_data"]',document, null, 7, null);
  var array = [];
  for (var i = 0, l = result.snapshotLength; i < l; i ++) {
    var data = result.snapshotItem(i).value;
    var json = &#39;({&#39; + data.replace(/\s*$/, &#39;&#39;).replace(/\\/g, &#39;\\\\&#39;).replace(/&#39;/g, &#39;\\\&#39;&#39;).replace(/$/mg, &#39;\&#39;&#39;).replace(/(^\w+:)\s*/mg, &#39;$1\&#39;&#39;).split(/\n/).join(&#39;,&#39;) + &#39;})&#39;;
    array.push(json);
  }
  /*try { eval(&#39;[&#39; + array.join(&#39;,&#39;) + &#39;]&#39;); alert(&#39;ok&#39;); } catch(e) { alert(&#39;ng&#39;) }*/
var t=document.createElement(&#39;textarea&#39;);
  document.body.insertBefore(t, document.body.firstChild);
  var s=t.style;
  s.padding=&#39;0&#39;;
  s.margin=&#39;auto 0&#39;;
  s.border=&#39;solid 1em gray&#39;;
  s.width=&#39;90%&#39;;
  s.height=&#39;20em&#39;;
  t.value=&#39;[&#39; + array.join(&#39;,&#39;) + &#39;]&#39;;
}
)();
http://d.hatena.ne.jp/amachang/20071019/1192764800

中身はだいたいこんな感じになってます。

// XPath で textarea 取得
var result = document.evaluate(&#39;//textarea[@class="autopagerize_data"]&#39;, document, null, 7, null);

// それぞれをJSON 化
var array = [];
for (var i = 0, l = result.snapshotLength; i < l; i ++) {
  var data = result.snapshotItem(i).value;
  var json = &#39;({&#39; + data.replace(/\s*$/, &#39;&#39;).replace(/\\/g, &#39;\\\\&#39;).replace(/&#39;/g, &#39;\\\&#39;&#39;).replace(/$/mg, &#39;\&#39;&#39;).replace(/(^\w+:)\s*/mg, &#39;$1\&#39;&#39;).split(/\n/).join(&#39;,&#39;) + &#39;})&#39;;
  array.push(json);
}

/*try { eval(&#39;[&#39; + array.join(&#39;,&#39;) + &#39;]&#39;); alert(&#39;ok&#39;); } catch(e) { alert(&#39;ng&#39;) }*/ // DEBUG

// 結合
console.log(&#39;[&#39; + array.join(&#39;,&#39;) + &#39;]&#39;); // JSON
http://d.hatena.ne.jp/amachang/20071019/1192764800