acetech
acetech

Reputation: 1

jq syntax help for querying lists output

I need help in correcting jq test cases syntax. Following is output file & trying to test ID list with command below. Gives error index to string type.

[[ $(echo $output| jq -r '.output.value[] | select(.identity).id_list') == *"id2"*  ]]

output = {
   "resource_output": {

    "value": {
           "identity": [
            {
              "id_list": [
                "/subscriptions/---/id1",
                "/subscriptions/---/id2",
                "/subscriptions/--/id3"
             ],
             "principal_id": "",
             "tenant_id": "",
             "type": "managed"
           }
         ]
    }
    }

Upvotes: 0

Views: 50

Answers (1)

peak
peak

Reputation: 117017

Your query does not match the sample JSON, and you have not indicated what output you are expecting, but the following variation of your query illustrates how to use select and test with your data along the lines suggested by your attempt:

echo "$output" |
  jq -r '.resource_output.identity[].id_list[] | select(test("id2"))'

Output:

/subscriptions/---/id2  

Upvotes: 1

Related Questions