<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><br><blockquote type="cite"><div>2) The grammar and an existing test in the <a href="http://json.org">json.org</a> test suite disallows final commas in array input (JSON.parse('[1,]') should apparently throw) - IE8, Safari 4 and Firefox 3.5 all seem to happily accept it though, as does the yet-to-go-public Opera implementation. I'd like some reassurance from other browser vendors that you consider this a bug and intend to fix it before I push for a fix here because this is the kind of thing that might cause compat problems :-o (Guess this is more a question for the implementers on the list than for the spec authors.)<br></div></blockquote><div>This is definitely a bug in the WebKit implementation (we disallow the trailing comma in object literals, i'm saddened that we allow the trailing comma in [] :-/ )</div><br><blockquote type="cite"><div><br>4) (Editorial) - spec says "The abstract operation Str(key, holder) has access &nbsp;to<br>PropertyList and ReplacerFunction" - the algorithm does not actually use<br>PropertyList (very trivial issue, of course)<br></div></blockquote><div>PropertyList is used in the abstract function JO</div><div><br></div><blockquote type="cite"><div>Quick word about the test suite: it's current home is <a href="http://testsuites.opera.com/JSON/">http://testsuites.opera.com/JSON/</a> where you can have a look at the README, load runner.htm to run all tests (Warning: if you do that in IE8 something makes it eat all your memory and make the PC entirely unusable!) or browse through folders to individual tests. Hope it's useful to all you implementers out there. Feedback welcome :)<br></div></blockquote><div><br></div><div>There are also reasonably extensive tests in the WebKit repository -- unfortunately they are designed primarily as regression tests so their output isn't astonishingly nice -- Browsers without a native JSON implementation just fail everything somewhat catastrophically with no obvious indication as to why. &nbsp;That said the tests do cover most edge cases (although not the [] with terminating comma thing apparently :-( ) such as order of execution, number of times properties are accessed, etc.</div><div><br><a href="http://trac.webkit.org/export/HEAD/trunk/LayoutTests/fast/js/JSON-stringify-replacer.html">http://trac.webkit.org/export/<span class="Apple-style-span" style="color: rgb(0, 0, 0); -webkit-text-decorations-in-effect: none; "><a href="http://trac.webkit.org/export/47743/trunk/LayoutTests/fast/js/JSON-stringify.html">HEAD</a></span>/trunk/LayoutTests/fast/js/JSON-stringify-replacer.html</a><br><a href="http://trac.webkit.org/export/HEAD/trunk/LayoutTests/fast/js/JSON-parse.html">http://trac.webkit.org/export/<span class="Apple-style-span" style="color: rgb(0, 0, 0); -webkit-text-decorations-in-effect: none; "><a href="http://trac.webkit.org/export/47743/trunk/LayoutTests/fast/js/JSON-stringify.html">HEAD</a></span>/trunk/LayoutTests/fast/js/JSON-parse.html</a></div></div><a href="http://trac.webkit.org/export/HEAD/trunk/LayoutTests/fast/js/JSON-stringify.html">http://trac.webkit.org/export/HEAD/trunk/LayoutTests/fast/js/JSON-stringify.html</a>&nbsp;(this one takes quite a while)<div><br><div>--Oliver</div><div><br></div></div></body></html>