only to_json has this problem