With native json support across all current versions of all major browsers it comes as some frustration that what is usually the standards bearer, Firefox 3.6, has dropped the ball.
using JSON.stringify(obj,replacer), the value returned from the replacer should be serialized and added to the json output.
FF 3.6 is ignoring the return value and serializing the object member.
Here is the test. If you see red, it is because the browser HAS native JSON but that it is failing.
Here are screenshots of all browsers/all platforms
bugzilla bug submitted
Until the bug is resolved I am overwriting JSON on firefox..
if (!this.JSON || /Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)) {
this.JSON = {};
}