updated absorb_hash to parse JSON