> the DSL is just opaque to me.
May I suggest "gron"? As compared to jq it is simpler (good!) has less features (good!) has no DSL (good!) and it is less powerful (good!, in many cases). It is a tool that "expands" json into standalone lines, and you can further process them using the standard tools grep, sed, cut, sort, awk...
EDIT: for example, if you have this json:
{
"outdir" : "out3",
"data" : [
{"img" : "img_01.jpg"},
{"img" : "img_02.jpg"}
],
"roi" : {
"x" : 150,
"y" : 150,
"w" : 700,
"h" : 700
},
"margin_h": 20,
"margin_v": 5,
"tile_size" : 300,
"resolution": 0.5
}
running it through gron produces this outdir = "out3"
data[0].img = "img_01.jpg"
data[1].img = "img_02.jpg"
roi.x = 150
roi.y = 150
roi.w = 700
roi.h = 700
margin_h = 20
margin_v = 5
tile_size = 300
resolution = 0.5
that some people find really convenient to deal with.