SELECT jsv.value#>'{0,name}' as "name" ,jsv.value#>'{0,category_id}' as cat_id
FROM table, jsonb_each(jsonfield) as jsv
WHERE
whoop_whoop_whoop='abc'
and jsv.value#>'{0,name}'='B'
магическое извлечение происходит в функции jsonb_each(поле jsonb)
магическая проверка происходит с объектом jsv в теле WHERE.
Для полного понимания как это работает, читайте мануалы постгрес. Они отлично документированы!
Там же вы узнаете, почему обращение идет к jsv.value и что будет если вывести jsv.key, а также какой оператор удобнее использовать вместо #> в вашем случае