Как получить конкретное поле из jsonobject (массива) с помощью потоковой передачи kafka java8 - PullRequest
0 голосов
/ 07 июня 2018

Не могли бы вы разрешить мои сомнения.Я смог получить поле из 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":"abc","name":"abc","a"[{"host":"mouni"}]}, яполучаю ошибку сериализации.(Пожалуйста, отправьте POC по моей проблеме.)

1 Ответ

0 голосов
/ 08 июня 2018

с приведенными ниже строками кода.

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

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