Jq
Understanding jq's SQL style operators JOIN and INDEX
In this post I explore a couple of new (to me) operators in jq's arsenal: JOIN and INDEX, based on an answer to a question that I came across on Stack Overflow. The answer was in response to a...
read postSumming and grouping values with jq
Here's yet another note-to-self on using jq, this time to transform a flat list of order totals and dates into a summary of total order values by year. In doing some research for an upcoming live...
read postReshaping data values using jq's with_entries
Receipt of a JSON file containing valid tags for tutorial metadata gave me the perfect opportunity to explore it and learn a bit more jq in the process. For each of our tutorials in SAP's Tutorial...
read postMultiple level filters in jq
Here's another note-to-self on using jq to shape JSON representations of OData to match what's returned using system query options. Thsi time it's all filtering at two levels. In the Back to basics:...
read postProducts by supplier in OData and jq
This is more of a note-to-self. I'm enjoying comparing resource requests in OData with the equivalent shaping with jq. Here's a simple example. With the Northwind OData v4 service there are Products...
read postExploring JSON with interactive jq
I often use ijq, or "interactive jq", to explore JSON, and also to improve my jq fu, because it gives me immediate visual feedback. Here's an example. There's a wrapper around jq called ijq...
read postJSON object values into CSV with jq
I wanted to grab a CSV version of a JSON representation of an entityset in the Northwind OData service. Here's how I converted the JSON structure into CSV with jq, and along the way, I talk about...
read postExploring GitHub repo name distribution with jq
I wanted a brief rundown of the name prefixes for repositories in the SAP-samples organisation on GitHub. With the gh CLI it was easy to grab the names, and gave me the opportunity to practise a bit...
read postConverting strings to objects with jq
In preparing some data for another upcoming blog post (now published: Exploring GitHub repo name distribution with jq), I needed to convert a list of fully qualified GitHub repository names into a...
read postSome thoughts on jq and statelessness
I came across a great article via lobsters recently: Introducing zq: an Easier (and Faster) Alternative to jq. I posted some brief thoughts on it over on the lobsters thread, and in the spirit of...
read postUnderstanding jq's reduce function
It took me a bit of time to get my head around jq's reduce function. In this post I show how it relates to the equivalent function in JavaScript, which helped me understand it better, and might help...
read postExercism and jq
I wanted to see how a jq track might work in Exercism. Here's what I tried out this morning. Exercism is a great resource for learning and practising languages. I've dabbled in a couple of tracks and...
read postEmbracing jq and JSON
Finding objects in a complex JSON structure isn't as scary as I thought with jq. My friend and colleague Rui was asking today about finding directory information for a given global account on SAP's...
read postProducing JSON with jq for appending issue titles
I learned how to use jq to produce JSON, while writing a script to enhance my Thinking Aloud journal entry titles. In my Thinking Aloud journal, the entries are issues in a GitHub repository. To...
read postMass deletion of GitHub Actions workflow runs
Implementing a simple cleanup script for workflow runs, using gh, jq, fzf and the GitHub API Yesterday, while thinking aloud, I was wondering how best to mass-delete logs from GitHub Actions workflow...
read post