How to make "where" select JSON entries containing a value in array?


I have a JSON file with team members’ information. I would like to display only those who match certain criteria using a shortcode. It should check whether a given string (here: ga) is part of an array (here: roles) in this JSON file.

This is the file /data/people/people.json:

    "name": "John Doe",
    "roles": [
    "name": "Max Mustermann",
    "roles": [

This is the shortcode file /layout/shortcodes/people_list.html:

{{ $json := getJSON "data/people/people.json" }}

<!-- show all members of a certain role -->
{{ if .Get "role" }}
  {{ $json = where $json (.Get "role") "in" "roles" }}
{{ end }}

  {{ range $json }}
        <td>Name: {{ .name }}</td>
        <td>Roles: {{ delimit .roles ", " }}</td>
  {{ end }}

And this is how I call the shortcode:

{{< people_list role="ga" >}}

Unexpectedly, the table is empty. How can I male where select only those entries whose roles array contains a certain value?