Detta beror på att operatorn ->>
hämtar JSON-matriselement som text. Du behöver en cast för att konvertera dess resultat tillbaka till JSON.
Du kan eliminera denna redundanta cast genom att använda operatorn ->
:
select person->'dogs'->0->'breed' from people where id = 77;