"A good opportunity to introduce `gron` to those unfamiliar!"
Thank you - appreciated.
I haven't done much work with json but have had reasons recently to do so - and I immediately saw how difficult it was to pipeline to grep ...
But what I still don't understand is that some json outputs I see have multiple values with the exact same name (!) and that still seems "un-grep-able" to me ...
What am I missing ?
Re:Htmlq: like jq, but for html
by dotancohen on Tuesday September 07, 2021 @05:49AM
(#28442853)
> But what I still don't understand is that some json
> outputs I see have multiple values with the exact same name
This is neither explicitly allowed nor explicitly forbidden by the JSON spec. It is implementation dependent upon how to handle - does one value override the other? Should they be treated as an array?In practice, this situation is usually carefully avoided by services that produce JSON. If you are interfacing with a service that does produce duplicate values, I'd be interested in seeing it for curiosity's sake. If you are writing a service and this is the output, then I implore you to reconsider!
You might be missing a change in index: `obj[0].prop` vs `obj[1].prop`. Or, your JSON might have the same property defined multiple times: `{a:1, a:2}` (though I'm not sure how gron handles that situation).
> (though I'm not sure how gron handles that situation).
It seems both gron and jq only use the value that has been defined last:
~ echo '{"a":1,"a":2}' | gron
json = {};
json.a = 2;
~ echo '{"a":1,"a":2}' | jq
{
"a": 2
}
A good opportunity to introduce `gron` to those unfamiliar!
https://github.com/tomnomnom/gron