hutool嵌套类转下划线
时间: 2023-07-24 13:22:46 浏览: 39
可以使用hutool中的StrUtil.toUnderlineCase方法将嵌套类名转换为下划线格式的字符串。
例如,如果有一个名为UserVO.AddressVO的嵌套类,可以使用如下代码将其转换为下划线格式的字符串:
```java
String className = UserVO.AddressVO.class.getSimpleName();
String underlineName = StrUtil.toUnderlineCase(className);
```
最终得到的underlineName值为"address_vo"。
相关问题
hutool对象转map时嵌套对象字段也转下划线
好的,我明白了你的问题。你可以使用Hutool中的BeanUtil工具类中的`beanToMap`方法进行对象转换,同时设置`isToUnderlineCase`参数为`true`,即可将嵌套对象字段的下划线也转换。示例代码如下:
```java
// 嵌套对象
public class InnerObj {
private String innerField;
// getter/setter 略
}
// 外部对象
public class OuterObj {
private String outerField;
private InnerObj innerObj;
// getter/setter 略
}
public class Demo {
public static void main(String[] args) {
OuterObj outerObj = new OuterObj();
outerObj.setOuterField("outerValue");
InnerObj innerObj = new InnerObj();
innerObj.setInnerField("innerValue");
outerObj.setInnerObj(innerObj);
// 转换为Map,同时将嵌套对象字段的下划线也转换
Map<String, Object> map = BeanUtil.beanToMap(outerObj, true, true);
System.out.println(map);
}
}
```
输出结果如下:
```
{inner_obj_inner_field=innerValue, outer_field=outerValue}
```
可以看到,嵌套对象`InnerObj`的字段`innerField`被转换为`inner_obj_inner_field`。
java嵌套json转实体类
可以使用第三方库如Gson或Jackson来实现Java嵌套Json转实体类。
假设有如下的Json字符串:
```
{
"id": 1,
"name": "John",
"age": 30,
"address": {
"street": "123 Main St",
"city": "New York",
"state": "NY",
"zip": "10001"
}
}
```
可以定义一个Java类来代表这个Json对象:
```java
public class Person {
private int id;
private String name;
private int age;
private Address address;
// getters and setters
}
public class Address {
private String street;
private String city;
private String state;
private String zip;
// getters and setters
}
```
然后使用Gson或Jackson进行转换:
```java
Gson gson = new Gson();
Person person = gson.fromJson(jsonString, Person.class);
```
或者使用Jackson:
```java
ObjectMapper objectMapper = new ObjectMapper();
Person person = objectMapper.readValue(jsonString, Person.class);
```
这样就可以将Json字符串转换为Java对象并嵌套转换为实体类。