jackson 属性名带下划线转string 下划线怎么才能不消失
时间: 2024-03-02 17:53:49 浏览: 29
如果你使用 Jackson 序列化 Java 对象为 JSON 字符串时,想要保留属性名中的下划线,可以通过在属性上添加 `@JsonProperty` 注解来实现。具体来说,你可以在属性上添加 `@JsonProperty("your_property_name")` 注解,其中 "your_property_name" 是你想要作为该属性名的字符串。例如:
```java
public class MyObject {
@JsonProperty("my_property")
private String myProperty;
// ...
}
```
在上面的例子中,当使用 Jackson 将 `MyObject` 对象序列化为 JSON 字符串时,属性 `myProperty` 将会被序列化为 `"my_property"`。
如果你想要在反序列化时也保留下划线,你可以在 `ObjectMapper` 中设置 `PropertyNamingStrategy`,例如:
```java
ObjectMapper mapper = new ObjectMapper();
mapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
```
这样,在反序列化时,属性名中的下划线也会被保留。
相关问题
java postman传json,属性名带下划线,后端@RequestBody接收
如果你想在 Java 中使用 Postman 传递带有下划线的 JSON 数据,并且后端使用 `@RequestBody` 注解接收该 JSON 数据,你可以按照以下步骤进行操作:
1. 在 Postman 中选择 POST 请求,并选择 Body 选项卡。
2. 在 Body 中选择 raw,并选择 JSON(application/json) 的数据类型。
3. 输入 JSON 数据,例如:
```
{
"user_name": "John",
"user_age": 20
}
```
4. 在 Java 后端中使用 `@RequestBody` 注解接收 JSON 数据,例如:
```java
@PostMapping("/user")
public void createUser(@RequestBody User user) {
// 你的代码逻辑
}
```
其中,`User` 是一个 POJO 类,例如:
```java
public class User {
private String userName;
private Integer userAge;
// getter 和 setter 方法
}
```
注意:在这个 POJO 类中,属性名是使用驼峰命名法,而不是下划线。这是因为在 Java 中,使用驼峰命名法更为常见和规范。但是,在 JSON 数据中,你可以使用下划线分隔符来表示属性名。在 Spring Boot 中,使用 Jackson 库,可以自动将 JSON 数据中的下划线转换成驼峰命名法的属性名。
jackson 驼峰转下划线
你可以使用以下 Java 代码将驼峰命名的字符串转换为下划线命名的字符串:
```java
String camelCase = "jacksonCamelCaseString";
String underscore = camelCase.replaceAll("([a-z])([A-Z]+)", "$1_$2").toLowerCase();
System.out.println(underscore); // 输出:jackson_camel_case_string
```
这段代码通过正则表达式将字符串中的大写字母前面添加下划线,并将所有字母转换为小写,从而实现驼峰命名转下划线命名。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)