私はkafkaからjsonイベントをストリーミングしようとしていましたが、それを平坦化してから、Spring Cloud Streamを使用して別のトピックに戻しました。Spring Cloud Stream Processor単一入力、複数行出力
入力:
{
"major": "Computer Science",
"books": [{
"title": "Learn C",
"author": "Prof C"
},
{
"title": "Learn Java",
"author": "Java Expert"
},{
"title": "Learn Python",
"author": "Python Master"
},]
}
平坦化プロセス:
@ServiceActivator(inputChannel = Sink.INPUT, outputChannel = Source.OUTPUT)
public String(String event){
JSONArray result = new JSONArray();
JSONObject rawEvent = new JSONObject(event);
String major = rawEvent.get("major");
JSONArray books = rawEvent.get("books");
for (int i = 0; i < books.length; i++){
JSONObject book = books.get(i);
book.put("major", major);
result.put(book)
}
return result.toString();
}
のみ生産:
[{"major":"Computer Science", "books.title":"Learn C", "books.author":"Prof C"},
{"major":"Computer Science", "books.title":"Learn Java", "books.author":"Java Expert"},
{"major":"Computer Science", "books.title":"Learn Python", "books.author":"Python Master"}]
私の質問は、それがこの
{"major":"Computer Science", "books.title":"Learn C", "books.author":"Prof C"}
{"major":"Computer Science", "books.title":"Learn Java", "books.author":"Java Expert"}
{"major":"Computer Science", "books.title":"Learn Python", "books.author":"Python Master"}
のようになるようにする方法であります
私は戻って押し込むことができますmutilple JSONObjectは私がやったもののように単一のJSONArrayではありませんか?
Afaik、Spring Cloud Streamの出力は、上記の私のケースに適合しない1つのイベントで、カフカに3つのイベントを生成します。
ありがとうございます。
ようこそStackOverflowへようこそ。 [ツアー](http://stackoverflow.com/tour)を見て、[ヘルプセンター](http://stackoverflow.com/help)を読んで[質問する方法]を読んでください。 (http://stackoverflow.com/help/how-to-ask)、[どのような質問を避けるべきですか?](http://stackoverflow.com/help/dont-ask)、[MCVE:最小、完全、および検証可能な例](http://stackoverflow.com/help/mcve)周囲の人があなたが何を意味するのか、問題が何であるかを簡単に読んで理解することができれば、彼らはもっと助けてくれるでしょう:) – Dwhitz
@Dwhitzあなたのご意見ありがとうございます。私の質問が更新されます。 :) – van