问题描述投票:0回答:1
我工作的一个了Talend工作,使一个HTTP GET请求来获取多个PDF文档。请求返回由一个JSON文件:documentDate和documentLink。我想从documentDate最新documentLink(S)和与文件名是“Document_1”如果只有一个文档FileFetch组件上传的文件(S)的最新日期的存在。如果2个文件具有最新的日期,则FileFetch组件应上传2个文件一个文件名是“Document_1”和其他的“Document_2”我对如何循环JSON文件以获得最新的日期,并命名文档(不确定S)正确。
我迄今所做的:
tHTTPRequest_1 --> tExtractJSONFields_1 --> tXMLMap_1 --> tFileFetch_1
此作品上传一个文件,但没有在tFileFetch_1组件的最新documentDate或文件名的命名作出检查。
返回的JSON如下所示:
你们是否有关于如何解决这个问题的任何想法?
javatalend
1个回答
投票
我相信你正在寻找类似下面的内容:
工作的第一部分包括:
tFileInputJson(或你的情况tHttpRequest1) - > tSetGlobalVar - > tExtractJsonFields - > tJavaRow
tHttpRequest1将抓住JSON响应(可以进行排序或不)
tsetGlobalVar将保存JSON在全局变量中的第二部分中使用。
tExtractJson会从每一个JSON数组项提取DocumentDate。
tJavaRow将包含比较来自不同文件的日期和设置在一个全局变量中最大的一个的Java逻辑的:
String maxDate = (String) globalMap.get("MaxDate"); if (maxDate != null && !maxDate.trim().isEmpty() ) //Some Logic here to take the max i.e. Convert it to proper date format and compare them. globalMap.p