我创建了一个 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/