On Tuesday, 28 July 2015 at 18:45:51 UTC, Sönke Ludwig wrote:
An idea might be to support something like this:
json_value.opt.foo.bar[2].baz
or
opt(json_value).foo.bar[2].baz
opt (name is debatable) would return a wrapper struct around
the JSONValue that supports opDispatch/opIndex and propagates a
missing field to the top gracefully. It could also keep track
of the complete path to give a nice error message when a
non-existent value is dereferenced.
+1
This would solve the cumbersome access of something deeply nested
that I've had to deal with when using stdx.data.json. Combine
that with the Algebraic improvements you've mentioned before and
it'll be just about as pleasant as it could be to use.