fastjson 变量驼峰形式与下划线互转

2017-01-06
郭金文

FastJson 支持配置的PropertyNamingStrategy四种策略

属性名策略说明:

CamelCase策略,Java对象属性:personId,序列化后属性:persionId

PascalCase策略,Java对象属性:personId,序列化后属性:PersonId

SnakeCase策略,Java对象属性:personId,序列化后属性:person_id

KebabCase策略,Java对象属性:personId,序列化后属性:person-id

PS:如果是比较旧的版本,CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES,CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES两种策略已经不建议使用了。

CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES,是驼峰转下划线的方式,已经被SnakeCase策略取代了。

下面,我们就介绍常用的驼峰与下划线互转的方法。只要这种方式掌握了,其他的格式序列化方式都是一样的。

##驼峰转下划线

来看一个代码片段:

	public static String toUnderlineJSONString(Object object) throws JsonProcessingException {
        ObjectMapper mapper = new ObjectMapper();
        mapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
        mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
        String reqJson = mapper.writeValueAsString(object);
        return reqJson;
  }

object 是一个实体类。经过转换后,变成了下划线形式。

下划线转驼峰

将下划线格式转成实体类的驼峰形式

	public Cssession getCsSession() throws IOException {
        Object resultObject = httpClientHelper.getForEntity(cssessionUrl, Object.class);
        ObjectMapper json = new ObjectMapper();
        json.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
        String params = json.writeValueAsString(resultObject);
        Cssession cssession = json.readValue(params, Cssession.class);
        return cssession;
    }

resultObject 请求回来的数据是一个下划线格式的数据

将其变成一个实体类的驼峰形式。


如果任何问题,欢迎在下方给我留言。本篇文章对你有帮助,可以点击下方按钮转载分享哦~@!@

相关推荐

评论

目录导航