Also, was just thinking that two columns with names of say: attrib and att would cause a problem if att was NOT in the JSON and attrib was in, because: 'att' ? 'attrib' = true. I should be able to clean this up if indeed it is a problem at all. Have not tested it yet.
Just re-ran the query I provided on the table
mytest with inserted record you provided above and it worked fine. Query executed using psql.
But I have no clue what you mean by: 'att' ? 'attrib' = true; SELECT 'att' ? 'attrib' doesn't even execute and the existence operator only considers exact matches.
This will work: if you get more errors you will need to supply the complete test case.
David J.
P.S. List convention is to either inline or bottom-post.