方案一,Jackson
  String json = objectMapperFace.writeValueAsString(contract);Map<String,Object> map = objectMapperFace.readValue(json, Map.class);

方案二 , apache BeanUtils
        Map<String,String> beanMap = null;try {beanMap = BeanUtils.describe(contract);} catch (IllegalAccessException e) {throw new RuntimeException(e);} catch (InvocationTargetException e) {throw new RuntimeException(e);} catch (NoSuchMethodException e) {throw new RuntimeException(e);}

与Jackson的结果不同是因为我属性用了 @JsonIgnore 注解。
其他
- fastjson