后端 传给前端出现一边大写 + 一边小写的问题

55 篇文章 1 订阅
6 篇文章 0 订阅
[{
"SourceName":"AirConditioner_1", 
"Message":"(en) Condition state acknowledged by UA client", "ActiveState.TransitionTime":"11/13/18 08:22:02.1530001 GMT",
"Severity":0, 
"EventType":"(NodeId) i=10637",
"ActiveState.Id":false, "AckedState.Id":false, 
"ConfirmedState.Id":false, "Comment":"(null)", 
"AckedSntate.TrasitionTime":"11/13/18 11:02:03.7570001 GMT", "Confirmed.StateTransitionTime":"(null)", 
"Comment.SourceTimestamp":"(null)",

"sourceName":"AirConditioner_2", 
"message":"(en) State of AirConditioner_2 changed to ON", "activeState.TransitionTime":"11/14/18 03:09:03.6020001 GMT", 
"severity":1, 
"eventType":"(NodeId) i=10637", 
"activeState.Id":false, 
"ackedState.Id":false, 
"confirmedState.Id":false, 
"comment":"(null)", 
"ackedSntate.TrasitionTime":"11/14/18 03:09:03.6020001 GMT", "confirmed.StateTransitionTime":"(null)", 
"comment.SourceTimestamp":"(null)"
}]

上面是运行输出的结果,

我在注解上添加了,@JSONField 注解 , 输出json格式

为什么会出现上述的原因是:

@Data 这个注解的错,是因为get、set方法是输出小写的结果。

不知道我这个解释大家认可吗,如有不同的见解,欢迎留言!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Spring Boot 应用中,可以使用 Jackson 库来进行 JSON 序列化和反序列化。默认情况下,Jackson 库会根据 Java 对象属性的命名规范来生成 JSON 字段名,而在 JavaScript 中,对象属性一般使用小写字母命名。 为了解决这个问题,可以使用 Jackson 库中的命名策略来改变生成的 JSON 字段名。常用的命名策略有 SnakeCase 命名策略和 KebabCase 命名策略,它们分别将属性名中的大写字母转换为下划线或短横线,并将所有单词转换为小写。这样,在序列化时生成的 JSON 字段名就会符合约定的命名规范。 具体实现方式如下: 1. 在 Spring Boot 应用的配置文件中添加以下配置,将 Jackson 库的命名策略设置为 `LOWER_CASE_WITH_UNDERSCORES`: ```yaml spring: jackson: property-naming-strategy: LOWER_CASE_WITH_UNDERSCORES ``` 2. 在需要进行序列化和反序列化的类上添加 `@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)` 注解,该注解将使用 SnakeCase 命名策略(即将属性名中的大写字母转换为小写,并添加下划线)。 ```java import com.fasterxml.jackson.databind.PropertyNamingStrategy; import com.fasterxml.jackson.databind.annotation.JsonNaming; @JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) public class MyClass { private String myField; // getter and setter } ``` 这样,在进行序列化时生成的 JSON 字段名就会符合 JavaScript 的小写命名规范。在前端接收到后端返回的 JSON 数据时,也不需要对字段名进行任何转换,可以直接使用小写字母的属性名。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值