[ https://issues.apache.org/jira/browse/AVRO-268?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12795193#action_12795193 ]
Matt Massie commented on AVRO-268: ---------------------------------- I should also mention that a few unit tests are *removed* with this patch as well. Tests with trailing character that used to fail now succeed with the new parser. For example, the following JSON used to fail to parse {code} { "key": "value" } foo bar baz {code} while now, the new parser will return immediately when it hits the last '}' ignoring the trailing junk characters. > Replace lemon-generated JSON parser with simpler recursive descent parser > ------------------------------------------------------------------------- > > Key: AVRO-268 > URL: https://issues.apache.org/jira/browse/AVRO-268 > Project: Avro > Issue Type: Improvement > Components: c > Reporter: Matt Massie > Assignee: Matt Massie > Fix For: 1.3.0 > > Attachments: AVRO-268.patch > > > This is a drop-in replacement for the current JSON parser which is based on > lemon (a LALR parser generator). > This parser > * reads and returns a single JSON_value and its nested children (using > recursive descent parsing) > * allows you to process JSON from streams in addition to static memory buffers > * correctly processes unicode \u escaping including surrogates > * distinguishes between integer and real number representations > * provides information about the line and character in JSON that failed to > parse > * is much simpler to understand and maintain (less lines of code and source > files) > * is written to allow error recovery to be added later > This patch also adds more unit tests. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.