他
我无法反序列化来自kafka主题的json字符串。属性混合了snake case和camel case结构,例如:input:
{
"event_type" : "ABC",
"user_id" : 1567221,
"name" : "HGHAAAB" //here no snake case
"user_contact" : "12345678",
"phoneNumber" : "91222"
}
现在我想在我这边创建请求dto,如下所示:
public class KafkaRequest {
private String eventType;
private int userId;
private String name;
private String userContact;
private String phoneNumber;
//getters and setters
}
有谁能提出正确的方法吗?我尝试创建customnamestrategy并用objectmapper.readvalue()反序列化,但没有成功。
谢谢是提前的!!!
2条答案
按热度按时间daupos2t1#
你可以使用gson有方法来定义域名策略
甚至你也可以定义自定义
对于生产者来说,stringserializer就可以了
假设你已经填充了pojo和kafkarequest,那么你就可以发布了
在用户端,解析回pojo
pepwfjgg2#
如果您正在使用
jackson
你可以用@JsonProperty
6.1. @jsonproperty公司或者可以将propertynamingstrategy.u case属性设置为
ObjectMapper
```objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);