postgresql - Extracting key names with true values from JSONB object -


i'm trying select keys jsonb type true values. far managed using query feel there better way:

select json.key     jsonb_each_text('{"aaa": true, "bbb": false}'::jsonb) json      json.value = 'true'; 

what don't where clause i'm comparing strings. there way cast boolean?
if yes, work truthy , falsy values too? (explanation of truthy , falsy values in javascript: http://www.codeproject.com/articles/713894/truthy-vs-falsy-values-in-javascript).

jsonb has equality operator (=; unlike json), write

select key   jsonb_each('{"aaa": true, "bbb": false}')  value = jsonb 'true' 

(with jsonb_each_text() rely on json values' text representation).

you can include additional values, if want:

where  value in (to_jsonb(true), jsonb '"true"', to_jsonb('truthy')) 

in uses equality operator under hood.


Comments

Popular posts from this blog

sql - VB.NET Operand type clash: date is incompatible with int error -

SVG stroke-linecap doesn't work for circles in Firefox? -

python - TypeError: Scalar value for argument 'color' is not numeric in openCV -