The final, and most important, step is being worked on right now – a way to access native JSON encoding and decoding from web pages. How it’ll be accessible is up to some debate (as having its naming conflict with an existing object would be a really bad thing). Regardless, there should be something within the browser by the time the Firefox 3 betas wrap-up.

I’m no Asa Dotzler, heavens forbid no, but I reckon passing a JS object to an XPCOM object and then passing it back would make it slower due to unnecessary conversion overhead. Perhaps a pure JS solution would be quicker. Just my speculation.