文字列を式として評価してくれる便利関数eval
ですが、(少なくとも)JSONの評価をする時なんかはクロスブラウザ対策(みたいなもの)が必要なのかも?
SafariやFirefoxだとこれでいいんですが、
var json = eval(jsonStr);
IE(6でも7でも)ではちゃんと評価されないこともあって、こうするといいみたい。(こちらは前述のブラウザでもちゃんと動きます)
eval("var json = " + jsonStr);
という感じで、関数の返り値を変数に代入という感触からいえば前者の方が自然に受け入れられる構文ではありますが、後者を使うほうが安全みたいです。