2 ms·
> I have found great mileage using gron `gron` is great but doesn't seem to handle some (extreme-ish) situations that `jq` can, e.g. the json output from the f
by zimpenfish 5y ago
> I have found great mileage using gron
`gron` is great but doesn't seem to handle some (extreme-ish) situations that `jq` can, e.g. the json output from the fastnbt-tools. You either get a `token too long` error using `gron -s` because the input is too long (it's 90MB, that's fair) or you get only one set of outputs per key (iyswim) because they get overlapped in memory.
- codetrotter 5y ago> or you get only one set of outputs per key (iyswim) because they get overlapped in memory That sounds like a major bug. So it will silently skip data that you wanted?
- zimpenfish 5y ago> That sounds like a major bug. It's definitely an oddness when you have multiple objects at the same level that aren't in an array but I guess the explanation there is "they should all be on their own individual lines as streaming json" which `gron` does handle correctly. (echo '{"a":"23"}'; echo '{"a":"25"}') | gron -s json = []; json[0] = {}; json[0].a = "23"; json[1] = {}; json[1].a = "25"; > So it will silently skip data that you wanted? Yeah. echo '{"a":"23"}{"a":"25"}' | gron json = {}; json.a = "23"; The `-s` option doesn't help. echo '{"a":"23"}{"a":"25"}' | gron -s json = []; json[0] = {}; json[0].a = "23";
- zimpenfish 5y agoHad a look at the source and I think I've figured out why and maybe how to fix it. Will have a bash at making a PR this week.