java - 如何在 Spring Boot 中反序列化 Kafka 主题中的 Json 字符串

标签 java spring spring-boot serialization spring-kafka

我创建了一个 POJO 来映射从 Kafka 主题接收的有效负载。 如果有效负载的格式为:

,则有效
{"payload":{"name":notification,"key":"2637","message":"This is a notif"}

当我生成 JSON 字符串类型的消息时。

"{\"payload\":{\"name\":\"notification\",\"key\":\"2637\",\"message\":\"This is a notif\"}"

它正在抛出

Could not read JSON:Cannot construct instance of myfilename : no sting-argument constructor/factory method to deserialize from string value.

如何解决?

最佳答案

如果消息只是表示转义 JSON 的字符串,我认为您只需要使用 StringDeserializer,并将消息作为字符串处理。我认为您不能自动绑定(bind)到 POJO,因为它不是实际的 JSON 对象。

您可以编写一个自定义反序列化器来转换字符串,然后委托(delegate)给 ObjectMapper。

关于java - 如何在 Spring Boot 中反序列化 Kafka 主题中的 Json 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60890586/

相关文章:

java - 带日期的 Spring MVC Controller

spring - 如何在 thymeleaf 中为消息属性文件使用自定义位置?

java - 如何完全删除/禁用Web浏览器上的Spring boot Logo ?

java - @PathVariable UUID...带有逗号分隔的 ids 不起作用 : a 400 response is returned

java - 在 Eclipse 中编辑数据库的用户友好工具

java - AngularJS - 通过 AJAX 下载文件

java - 如何使用当前的spring bean访问另一个spring bean中的数据

spring-boot - 在 Camel SpringBoot 项目中传播请求参数值

java - 字符串 B 字赋值

java - 从外部模块访问资源文件