stream—如何使用kafka streaming java8从jsonobject(数组)中获取particluar字段

qnakjoqk  于 2021-06-08  发布在  Kafka
关注(0)|答案(1)|浏览(377)

你能解决我的疑问吗。我可以从jsonobject中得到一个字段 (a-->{"host":"mou","type":"kat"}) 在我的Kafka主题中使用了Kafka流,下面的代码是java8。

KStream<String, String> sources = builder
    .stream(Serdes.String(), jsonSerde, "example")
    .map((k,v) -> new KeyValue<>(k, (String) v.path("a").toString()));

sources.foreach((w, c) -> System.out.println("word: ->"  + c));

sources.print("FETCHING FIELD VALUE");

但如果我的意见是 {"type":"","name":"","a"[{"host":"mouni"}]} 我得到序列化错误(请就我的问题发送一份poc。)

qojgxg4l

qojgxg4l1#

用下面的代码行。

KStream<String, String> sources = builder.stream(Serdes.String(), jsonSerde, "example")

               .map((k,v) -> new KeyValue<>(k,  v.path("l").path(0).path("a").toString()));

相关问题