Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fixes two bugs, one of the (in my opinion) serious, one just a neatness issue.
The more serious problem is that given: {"a":"b", "c"}, the "c" is lost (as there is no check that we have finished a key/value pair before closing the object). I reused JSON_PARSE_UNEXPECTED_CHARACTER to avoid introducing a new error class in case people are already parsing and expecting a particular set. Obviously this could be tweaked to another value.
The more minor issue that the checking of rejecting initial comma (like [,1]) is incomplete, as extra commas can sneak in inside nested objects. This is fixed by setting separator=true whenever an object or array is opened.