JSON 驼峰转下划线
来源:互联网 发布:商之翼 yii2.0 源码 编辑:程序博客网 时间:2024/04/30 12:32
import com.fasterxml.jackson.databind.PropertyNamingStrategy.PropertyNamingStrategyBase;public class MyCamemlToUnderlineCaseStrategy extends PropertyNamingStrategyBase {private static final long serialVersionUID = 1L;@Overridepublic String translate(String input) {if (input == null)return input; // garbage in, garbage outint length = input.length();StringBuilder result = new StringBuilder(length * 2);int resultLength = 0;boolean wasPrevTranslated = false;for (int i = 0; i < length; i++) {char c = input.charAt(i);if (i > 0 || c != '_') // skip first starting underscore{if (c == '_') {if (!wasPrevTranslated && resultLength > 0 && !Character.isUpperCase(result.charAt(resultLength - 1))) {if (++i < length) {result.append(Character.toUpperCase(input.charAt(i)));resultLength++;}}wasPrevTranslated = true;} else {wasPrevTranslated = false;result.append(c);resultLength++;}}}return resultLength > 0 ? result.toString() : input;}}
import java.io.IOException;import java.io.Serializable;import com.fasterxml.jackson.core.JsonParseException;import com.fasterxml.jackson.databind.JsonMappingException;import com.fasterxml.jackson.databind.ObjectMapper;public class JacksonTest {public static void main(String[] args) throws JsonParseException, JsonMappingException, IOException {ObjectMapper mapper = new ObjectMapper();String json = "{\"userName\":\"bflee\",\"idNumber\":\"123456\"}";mapper.setPropertyNamingStrategy(new MyCamemlToUnderlineCaseStrategy());O o = (O) mapper.readValue(json, O.class);System.out.println(o.getId_number());}}class O implements Serializable {private static final longserialVersionUID= -3004824622398622080L;private Stringuser_name;private Stringid_number;public String getUser_name() {return user_name;}public void setUser_name(String user_name) {this.user_name = user_name;}public String getId_number() {return id_number;}public void setId_number(String id_number) {this.id_number = id_number;}}
0 0
- JSON 驼峰转下划线
- java驼峰转下划线,下划线转驼峰
- java驼峰转下划线
- 驼峰字符串转下划线字符串小工具
- 驼峰命名法转下划线风格
- 下划线风格转驼峰命名法
- java 驼峰和下划线互转
- java下划线命名转驼峰命名
- 编辑器使用正则完成下划线转驼峰
- Java 驼峰字符串转下划线连接
- 下划线和驼峰转换
- pyhton——驼峰和下划线命名格式互转
- Java 驼峰命名法转下划线命名法
- 下划线转驼峰,3种实现方式效率对比
- 驼峰命名法和下划线风格的互转
- Java-驼峰命名与下划线命名互转
- 驼峰和下划线命令转换
- 下划线分割的表名、字段名转驼峰的工具类
- 使用OAuth打造webapi认证服务供自己的客户端使用
- QComboBox下拉列表自动填充
- 欢迎使用CSDN-markdown编辑器
- Angular 监听路由变化事件
- mysql事物处理
- JSON 驼峰转下划线
- echarts使用心得
- partition
- 关于Android的.so文件---多个第三方库加载到工程读取不到.so的解决办法
- 常用正则表达式
- 数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案
- 用户使用搜索引擎的一般习惯
- <tx :annotation-driven> <mvc: annotation-driven >注解理解
- 解决:debug-stripped.ap_' specified for property 'resourceFile' does not exist.