application/x-json-stream -> JSON messages (without extra whitespace)
newline separated.

Several streaming json parsers support this already out of the box.  They
ignore the newlines and know when a json body ends because of the parser
state.  People who don't have a streaming parser, can search for the
newline instead and do their own de-framing.  Either way, it's very trivial
to parse.

var parser = new StreamingParser({ multivalue: true });
req.pipe(parser);
parser.on("message", function (message) {
  // ...
});

On Thu, May 24, 2012 at 11:52 AM, Isaac Schlueter <[email protected]> wrote:

> On Wed, May 23, 2012 at 3:00 PM, Mark Hahn <[email protected]> wrote:
> >>   it seems that the work on the client side to do streaming parsing gets
> >> much harder
> >
> > I don't understand?  Parsing commas is hard?  However you planned on
> parsing
> > newlines could parse commas instead.
>
> It goes from trivial (because you don't have to inspect the JSON at
> all) to not-trivial (because you do).
>
> JSON can contain commas, but unless it's created using a pretty-indent
> argument, it can never contain newlines.  This means that your parser
> only has to be aware of a single byte, and can dumbly skip over
> everything else.
>
> I think what we need is a new standard for \n delimited JSON streams.
> It addresses a slightly different need (since you won't ever parse the
> whole thing all at once, and it may not even ever end), and requires
> the sender to not send pretty-formatted JSON, so that each object is
> guaranteed to be a single line.
>
> Actually, I think that's basically the spec:
>
> 1. Lines are delimited by \n (0x0A)
> 2. Each line must be a valid JSON string in UTF-8 encoding.
>
> The only thing we're lacking is a mime-type.
>
> --
> Job Board: http://jobs.nodejs.org/
> Posting guidelines:
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> You received this message because you are subscribed to the Google
> Groups "nodejs" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/nodejs?hl=en?hl=en
>

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to