例如,如果kafka-toipc中的数据看起来像这个
{
"header": {
"name": "jake"
},
"body": {
"Data":"!#$%&&"
}
}
那么我该如何读取值"!#$%&"从我的消费者应用程序?一旦我得到数据,我就需要处理数据
您需要使用String Serde、JSON Serde或定义自己的数据。
如果您定义自己的,那么您将调用value.getBody().getData()
,就像任何其他Java对象一样,其中value
是来自mapValues、peek、filter等的参数。Kafka Streams DSL
对于其他人,答案将取决于您使用的JSON库,但答案并非Kafka独有,因此请阅读该库关于解析字符串的文档。
以下是使用字符串序列号消费的一个示例-https://github.com/confluentinc/kafka-streams-examples/blob/7.1.1-post/src/main/java/io/confluent/examples/streams/JsonToAvroExample.java#L118