Java Json 数据下划线与驼峰格式进行相互转换


 

来源:https://blog.csdn.net/wtopps/article/details/81087157
概述 今天遇见一个需求,需要对json数据进行下划线与驼峰格式之间进行转换,在Fastjson、Jackson、Gson都提供了转换的方式,在这里进行一下列举。 User类: public class User { private String nameInfo; private String ageInfo; public String getNameInfo() { return nameInfo; } public void setNameInfo(String nameInfo) { this.nameInfo = nameInfo; } public String getAgeInfo() { return ageInfo; } public void setAgeInfo(String ageInfo) { this.ageInfo = ageInfo; } } 

★ Fastjson: // 生产环境中,config要做singleton处理,要不然会存在性能问题 User user = new User(); user.setNameInfo("coder"); user.setAgeInfo("28"); SerializeConfig config = new SerializeConfig(); config.propertyNamingStrategy = PropertyNamingStrategy.SnakeCase; String json = JSON.toJSONString(user, config); Assert.assertEquals("{\"age_info\":\"28\",\"name_info\":\"coder\"}", json); ★Gson GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES); Gson gson = gsonBuilder.create(); User user = new User(); user.setName("coder"); user.setAge(28); String json = gson.toJson(user); Assert.assertEquals("{\"age_info\":\"28\",\"name_info\":\"coder\"}", json);


★Jackson User user = new User(); user.setNameInfo("coder"); user.setAgeInfo("28"); ObjectMapper mapper = new ObjectMapper(); mapper.setPropertyNamingStrategy(com.fasterxml.jackson.databind.PropertyNamingStrategy.SNAKE_CASE); String json = mapper.writeValueAsString(user); Assert.assertEquals("{\"name_info\":\"coder\",\"age_info\":\"28\"}", json);

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM