aeson seems to have a slightly simpler approach to JSON parsing: it parses the top-level JSON value (an object or array) into its own fixed view, and then offers tools to help users convert that view to their own. This approach works very well when JSON objects and arrays are small. When they are very large, everything starts to fall apart, because the user code cannot do anything until the JSON values ββare completely read and parsed. This seems particularly unsuccessful since JSON seems to be intended for recursive descent parsers; it seems like it should be simple enough so that custom code can intervene and tell how to handle each part. Is there a deep reason for aeson and earlier json working this way, or should I try to create a new library for more flexible JSON analysis?
source share