Question: Given following json content ,

```
{

    "application": "grafana",
    "users": {
        "admin": {
             "display-name": "admin",
             "access": "admin"
        },
        "user1": {
             "display-name": "user1",
             "access": "read"
        },
        "user2": {
             "display-name": "user2",
             "access": "edit"
        }
    }
}

```

I want to produce tsv format like following :

```
Application  User   Access
grafana      admin  admin
             user1  read
             user2  edit

```

How can I use jq @tsv to achieve that ?

Answer: 
here's my "one-liner" solution:

```rb
dictionary = ["below", "down", "go", "going", "horn", "how", "howdy", "it", "i", "low", "own", "part", "partner", "sit"]

str = "below, below, how's it goin?"

str.split(/\W+/).tally.slice(*dictionary) #=> {"below"=>2, "how"=>1, "it"=>1}

```
`string_array.include?(entry)` returns true, regardless of how many times the word occurs in given array. Instead, use `string_array.count(entry)` which will tell you exactly how many times it appears.

```
dict.each do |entry|
  count = string_array.count(entry)
  final_hash[entry] = count if count > 0
end

```

However, it is not the most efficient way - as you need to iterate through string\_array once per each dictionary word (and I'd assume that string\_array is potentially much larger than dictionary). Try thinking of a way of iterating over string array instead.

Also, consider what to do about words starting with capital letters!