After some discussions how eval would work in jq i did experiments with jqjq. Making the path "transparent" so it works with assignment etc is quite fascinating:
$ ./jqjq -n '(.a | eval(".b.c, .d")) = 1'{ "a": { "b": { "c": 1 }, "d": 1 }}
#jq #jqjq