UPDATE public.mytable SET jsonfieldname = jsonb_set( jsonfieldname, '{json_obj_key}', array_to_json( array_remove( ARRAY( SELECT json_array_elements_text( COALESCE( jsonfieldname::json->'json_obj_key', '[]' ) ) ), 'Element to remove' ) )::jsonb ) WHERE id = 23 RETURNING *;