Postgres Ordering by a Json Array
Assuming from your code snippet that the displayed JSON is the value of a key "productCategories" in a jsonb column object_data of your table tbl, you can achieve your desired sort order like this:

SELECT t.*
FROM   tbl t
LEFT   JOIN LATERAL (
   SELECT elem-&gt;&gt;'priority' AS prio
   FROM   jsonb_array_elements(t.object_data-&gt;'productCategories') a(elem)
   WHERE  elem-&gt;&gt;'categoryName' = 'Trucks'  -- your category here
   ) a ON true                              -- preserve all rows from t
ORDER  BY prio;                             -- NULL values are sorted last


Related answers with detailed explanation:


How to sort objects in an array inside a json or jsonb value by a property of the objects?
Customize jsonb key sort order involving arrays
What is the difference between LATERAL and a subquery in PostgreSQL?
PostgreSQL sort by datetime asc, null first?