[Haskell-cafe] JSON parser that returns the rest of the string that was not used

Stephen Tetley stephen.tetley at gmail.com
Sun May 29 17:53:51 UTC 2016


Hi Ryan

Isn't this a problem of JSON rather than it's parsers?

That's too say I believe (but could easily be wrong...) that a file
with multiple JSON objects would be ill-formed; it would be
well-formed if the multiple objects were in a single top-level array.

On 29 May 2016 at 18:09, Ryan Newton <rrnewton at gmail.com> wrote:
> As someone who spent many years putting data in S-expression format, it
> seems natural to me to write multiple S-expressions (or JSON objects) to a
> file, and expect a reader to be able to read them back one at a time.
>
> This seems comparatively uncommon in the JSON world.  Accordingly, it looks
> like the most popular JSON parsing lib, Aeson, doesn't directly provide this
> functionality.  Functions like decode just return a "Maybe a", not the
> left-over input, meaning that you would need to somehow split up your
> multi-object file before attempting to parse, which is annoying and error
> prone.
>
> It looks like maybe you can get Aeson to do what I want by dropping down to
> the attoparsec layer and messing with IResult.
>
> But is there a better way to do this?  Would this be a good convenience
> routine to add to aeson in a PR?  I.e. would anyone else use this?
>
> Thanks,
>   -Ryan
>
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
>


More information about the Haskell-Cafe mailing list