snack4 - Json 序列化之命名风格控制
snack4 支持小蛇和小驼峰风格,且支持相互转换。
1、涉及命名风格转换的特性:
包括了读、写两种时态的特性
| 特性 | 描述 |
|---|---|
| Write_UseSmlCamelStyle | 写入时名字(强制)使用小骆峰风格 |
| Write_UseSmlSnakeStyle | 写入时名字(强制)使用小蛇风格 |
| Read_ConvertSnakeToSmlCamel | 读取时小蛇转为小驼峰风格 |
| Read_ConvertCamelToSmlSnake | 读取时小驼峰转为小蛇风格 |
2、示例
- Write_UseSmlCamelStyle,写入时名字(强制)使用小骆峰风格
@Test
public void Write_UseSmlCamelStyle() {
Map<String, Object> data = new HashMap<>();
data.put("user_id", 1);
String json = ONode.serialize(data, Feature.Write_UseSmlCamelStyle);
Assertions.assertEquals("{\"userId\":1}", json);
}
- Write_UseSmlSnakeStyle,写入时名字(强制)使用小蛇风格
@Test
public void Write_UseSmlSnakeStyle() {
Map<String, Object> data = new HashMap<>();
data.put("userId", 1);
String json = ONode.serialize(data, Feature.Write_UseSmlSnakeStyle);
Assertions.assertEquals("{\"user_id\":1}", json);
}
- Read_ConvertSnakeToSmlCamel,读取时把小蛇转为小驼峰
@Test
public void Read_ConvertSnakeToSmlCamel() {
assert ONode.ofJson("{user_info:'1'}", Feature.Read_ConvertSnakeToSmlCamel)
.get("userInfo").isString();
assert ONode.ofJson("{user_info:'1'}")
.get("userInfo").isNull();
}
- Read_ConvertCamelToSmlSnake,读取时把小驼峰转为小蛇
@Test
public void Read_ConvertCamelToSmlSnake() {
assert ONode.ofJson("{userInfo:'1'}", Feature.Read_ConvertCamelToSmlSnake)
.get("user_info").isString();
assert ONode.ofJson("{userInfo:'1'}")
.get("user_info").isNull();
}