もう一つの手段。

YUIのサイトをうろついてたら、JSON BETAってのをみっけ。
JavaScriptJSONのデータを扱う場合、JSONPでコールする場合は問答無用でevalされるのでおいておくとして、それ以外の場合は明示的にevalするほかにJSON.orgのライブラリを使う方法がある。
また、JSONでデータを書き出したいときはtoString()してもinvalidなJSONしか出てこない*1ので、JSON.orgのライブラリに入ってるシリアライザを使うことになる。だけど、このライブラリはObject.prototypeを弄ってくれるので他のライブラリと衝突することがある。確かじゃないけどなんかprototype.jsとぶつかってたような気が。
そこでYUIのこれ。
Yahoo! UI Library: JSON utility
ちょっと触っただけだけど、少なくともprototype.jsとは衝突してないみたい。おそらくYUIの他のと組み合わせても問題ないはず。
使い方も簡単。

<!-- Dependencies -->
<script src="http://yui.yahooapis.com/2.4.0/build/yahoo/yahoo-min.js"></script>

<!-- Source file -->
<script src="http://yui.yahooapis.com/2.4.0/build/json/json-beta-min.js"></script>

こうやって組み込んで、

/* これでデシリアライズ */
var someObject = YAHOO.lang.JSON.parse(jsonString);

/* シリアライズはこうする */
var jsonString = YAHOO.lang.JSON.stringify(someObject);

これは便利。

*1:このメソッドだとJavaScriptとしては正しいがJSONとしては正しくない物が得られる。RubyJSONパーサなんかに与えると落ちる。