Stringy.js
Stringy.js will stringify your circular JS objects without complaint. Unfortunately it currently fails if the object hierarchy exceeds 30 total items.
Usage
var b = foo: bar: null bfoobar = b // it's circular! consoleconsole // works!console // exception