Add the following rules (for liberal=true) to the Saxon documentation for parse-json:
<li>Within arrays and objects, trailing commas are ignored: for example <code>[1,2,3,]</code>
is treated as <code>[1,2,3]</code>. (This does not apply if the array or object is otherwise empty,
so <code>[,]</code> and <code>{,}</code> are not accepted.)</li>
<li>Within numeric literals, anything accepted by the XPath string-to-double casting rules
is accepted (for example, leading plus signs, leading zeroes, absent fractional part, absent integer part.)</li>
<li>Within a string literal, if backslash is followed by a character <code>X</code> and <code>\X</code>
is not a recognized JSON escape sequence, then it is treated as representing the character <code>X</code>.</li>
<li>The key of a key-value pair in an object can be written without quotation marks provided it takes the
form of an XML NCName, and is not "true", "false", or "null".</li>
Added tests (to qt3extra) for these conditions.
Tweaked the code to pass the test cases. Patch committed on the 9.8 branch.