[ 
https://issues.apache.org/jira/browse/AVRO-268?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12795453#action_12795453
 ] 

Ryan King commented on AVRO-268:
--------------------------------

Alright, I now understand a bit better what you're going for.

Now forgive me if this is a naive question: whenever you need to read JSON for 
avro, do we know ahead of time how long the JSON blob will be? 

Most JSON parsers don't have the property of returning as soon as a full object 
has been parsed, so we'll need to be able to read just the appropriate length, 
then parse as JSON.

> 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.

Reply via email to