Я хочу, чтобы jq возвращал индекс элемента в массиве на основе поиска.
Используя приведенный ниже массив, я вызываю jq, чтобы найти значение "FooBar"
ключа "text"
:
jq '.arr[] | .[3].text | tostring | select(contains("FooBar") )' < file.json
Результат:
"FooBar"
Но то, что я на самом деле хочу, - это индекс самого внешнего массива "arr"
, в который вложена эта пара text:FooBar
, что равно 0 вэтот случай.
Может ли это быть достигнуто в JQ?
{
"arr": [
[
"create",
"w71",
"rwt.widgets.Label",
{
"parent": "w68",
"style": "1",
"bounds": "2",
"tabIndex": -1,
"background": "ww",
"font": "test",
"text": "FooBar",
"alignment": "right"
}
],
[
"create",
"w72",
"rwt.widgets.Label",
{
"parent": "w68",
"style": "22",
"bounds": "1",
"tabIndex": -1,
"foreground": "null",
"background": "1",
"font": "2",
"text": "55",
"alignment": "right"
}
]
]
}