2016-08-16 12 views
1

RESTリクエストからJSONオブジェクトのコレクションを作成する必要があります(投稿Talend - URI based on values obtained from a listを参照)。Talend - JSONオブジェクトのコレクションを作成する方法

{"COD_MUN":"5202155","NOME_MUN":"CITY01"}, 
{"COD_MUN":"5202502","NOME_MUN":"CITY02"}, 
... 

私が作成した:

{ "COD_AGENCIA":"521800300", "NAME":"AGENCIA01"}, 
{ "COD_AGENCIA":"521999999", "NAME":"AGENCIA02"}, 
... 
(20 other values) 
... 

機関コードから別のWebサービスは、次の形式で、この機関に関連する都市を提供します。Webサービスは、次の形式での機関のコレクションを提供します代理店関係を取得する仕事、そしてtFlowToIterateを通して、私はtRestを通じて代理店コードを変更して複数のリクエストを呼び出します。私はTLOGの最後のtExtractJSONFieldの出力、それらが印刷され、一度にすべての都市のコードと名前をオンにすると

myJob

:私の仕事は、このようなものです。 tFileOutputJSONのtLogを変更した場合、最後のファイルにはcitiesという最後の繰り返しのみが含まれます。私は次の形式で単一のジョブ複数のJSONオブジェクトに生成できるように変更する必要がどのような

{"COD_AGENCIA":"521800300", 
"NAME":"AGENCIA01", 
"CIDADES":[{"COD_MUN":"5202155","NOME_MUN":"CITY01"}, 
      {"COD_MUN":"5202502","NOME_MUN":"CITY02"} 
    ] 
} 

{"COD_AGENCIA":"521999999", 
"NAME":"AGENCIA02", 
"CIDADES":[{"COD_MUN":"5244887","NOME_MUN":"CITY03"}, 
      {"COD_MUN":"5254522","NOME_MUN":"CITY04"} 
    ] 
} 

答えて

1

私は以前のプロジェクトで同じ悩みを持っていました。

Talendでは、JSONの最後に行を追加することはできませんが、CSVで行えます。私はすべての行を持ってJSONでそれらを送信するためにCSVを使いました。

あなたの場合、JSONに複数のレベルがあるので、より複雑になります! Talendのフローは1つのレベルしかないので、複数のレベルを生成します.JSONはすでに複雑です。

tJsonDoc* componentsをご覧ください。私は自分のニーズに合った「CSV-workaround」以来、自分自身を試しませんでしたが、このツールで複雑な構造を作ることができるので、ファイルの最後に追加することができます。

関連する問題