allow multiple key columns; catch duplicates
update json keys