<story><title>Gron – Make JSON Greppable</title><url>https://github.com/tomnomnom/gron</url></story><parent_chain><item><author>barumi</author><text>&amp;gt; In simpler words, as a user: The jq query language [1] is obtuse, obscure, incredibly hard to learn if you need it for quick one liners once in a blue moon.&lt;p&gt;I don&amp;#x27;t agree that jq&amp;#x27;s query language is obtuse. It&amp;#x27;s a DSL for JSON document trees, and it&amp;#x27;s largely unfamiliar, but so is xpath or any other DOM transformation language.&lt;p&gt;The same thing is said about regex.&lt;p&gt;My take is that &amp;quot;it&amp;#x27;s obtuse&amp;quot; just translates to &amp;quot;I&amp;#x27;m not familiar with it and I never bothered to get acquainted with it&amp;quot;.&lt;p&gt;One thing that we can agree though is that jq&amp;#x27;s docs are awful at providing a decent tutorial for new users to ramp up.</text></item><item><author>sph</author><text>In simpler words, as a user: The jq query language [1] is obtuse, obscure, incredibly hard to learn if you need it for quick one liners once in a blue moon. I&amp;#x27;ve tried, believe me, but I should probably spend that much effort learning Chinese instead.&lt;p&gt;It&amp;#x27;s just operating at the wrong abstraction level, whereas gron is orders of magnitude easier to understand and _explore_.&lt;p&gt;1: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;stedolan.github.io&amp;#x2F;jq&amp;#x2F;manual&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;stedolan.github.io&amp;#x2F;jq&amp;#x2F;manual&amp;#x2F;&lt;/a&gt;</text></item><item><author>theshrike79</author><text>From the FAQ, before someone asks the obvious:&lt;p&gt;Why shouldn&amp;#x27;t I just use jq?&lt;p&gt;jq is awesome, and a lot more powerful than gron, but with that power comes complexity. gron aims to make it easier to use the tools you already know, like grep and sed.&lt;p&gt;gron&amp;#x27;s primary purpose is to make it easy to find the path to a value in a deeply nested JSON blob when you don&amp;#x27;t already know the structure; much of jq&amp;#x27;s power is unlocked only once you know that structure.</text></item></parent_chain><comment><author>js2</author><text>I&amp;#x27;m pretty good with regular expressions. I have spent a lot of time trying to get familiar with jq. The problem is that I never use it outside of parsing JSON files, yet I use regular expressions all over the place: on the command line, in Python and Javascript and Java code. They are widely applicable. Their syntax is terse, but relatively small.&lt;p&gt;jq has never come naturally. Every time I try to intuit how to do something, my intuition fails. This is despite having read its man page a dozen times or more, and consulted it even more frequently than that.&lt;p&gt;I&amp;#x27;ve spent 20+ years on the Unix command line. I know my way around most of it. I can use sed and awk and perl to great effect. But I just can&amp;#x27;t seem to get jq to stick.&lt;p&gt;Aside, but there&amp;#x27;s a lot of times when &amp;quot;I know jq can do this, but I forget exactly how, let me find it in the man page&amp;quot; and then... I find jq&amp;#x27;s man page as difficult as jq itself when trying to use it as a reference.&lt;p&gt;Anyway, $0.02.&lt;p&gt;Edited to add: as a basic query language, I find it easy to use. It&amp;#x27;s when I&amp;#x27;m dealing with json that embeds literal json strings that need to be parsed as json a second time, or when I&amp;#x27;m trying to manipulate one or more fields in some way before outputting that I struggle. So it&amp;#x27;s when I&amp;#x27;m trying to compose filters and functions inside jq that I find it hard to use.</text></comment>
<story><title>Gron – Make JSON Greppable</title><url>https://github.com/tomnomnom/gron</url></story><parent_chain><item><author>barumi</author><text>&amp;gt; In simpler words, as a user: The jq query language [1] is obtuse, obscure, incredibly hard to learn if you need it for quick one liners once in a blue moon.&lt;p&gt;I don&amp;#x27;t agree that jq&amp;#x27;s query language is obtuse. It&amp;#x27;s a DSL for JSON document trees, and it&amp;#x27;s largely unfamiliar, but so is xpath or any other DOM transformation language.&lt;p&gt;The same thing is said about regex.&lt;p&gt;My take is that &amp;quot;it&amp;#x27;s obtuse&amp;quot; just translates to &amp;quot;I&amp;#x27;m not familiar with it and I never bothered to get acquainted with it&amp;quot;.&lt;p&gt;One thing that we can agree though is that jq&amp;#x27;s docs are awful at providing a decent tutorial for new users to ramp up.</text></item><item><author>sph</author><text>In simpler words, as a user: The jq query language [1] is obtuse, obscure, incredibly hard to learn if you need it for quick one liners once in a blue moon. I&amp;#x27;ve tried, believe me, but I should probably spend that much effort learning Chinese instead.&lt;p&gt;It&amp;#x27;s just operating at the wrong abstraction level, whereas gron is orders of magnitude easier to understand and _explore_.&lt;p&gt;1: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;stedolan.github.io&amp;#x2F;jq&amp;#x2F;manual&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;stedolan.github.io&amp;#x2F;jq&amp;#x2F;manual&amp;#x2F;&lt;/a&gt;</text></item><item><author>theshrike79</author><text>From the FAQ, before someone asks the obvious:&lt;p&gt;Why shouldn&amp;#x27;t I just use jq?&lt;p&gt;jq is awesome, and a lot more powerful than gron, but with that power comes complexity. gron aims to make it easier to use the tools you already know, like grep and sed.&lt;p&gt;gron&amp;#x27;s primary purpose is to make it easy to find the path to a value in a deeply nested JSON blob when you don&amp;#x27;t already know the structure; much of jq&amp;#x27;s power is unlocked only once you know that structure.</text></item></parent_chain><comment><author>naringas</author><text>But I have tried to learn jq&amp;#x27;s syntax (it&amp;#x27;s pretty much a minilanguage) and it has been incredibly difficult.&lt;p&gt;I also remember what when I first tried learning regex it was also very difficult. That is &lt;i&gt;until&lt;/i&gt; I learned about finite state machines and regular languages, after that CS fundamentals class I was able to make sense of regex in a way that stuck.&lt;p&gt;Is there a comparable theory for jq&amp;#x27;s mini-language?</text></comment>