as_json() spec beaten into submission