Вопрос по json, java, talend – Парсер JSON для Talend
=====================================================

Мне нужна помощь в разработке стратегии для анализа документов JSON в задании Talend (задание Java, а не Perl). Я использую Talend Version: 5.0.2 и работаю на Mac, планируя работать на Linux.

К сожалению, я не могу использовать компонент tFileInputJSON из-за формата моих файлов - каждый файл содержит несколько сотен документов JSON, а полный документ JSON занимает одну строку в файле. Я думаю, что правильное решение - читать файл построчно, затем передавать его в анализатор JSON и оттуда отправлять результаты остальной части работы.

Как я вижу это мои варианты:

а) отправить строку ввода в какой-то анализатор Java JSON. Если это стратегия, которую мне нужно принять, я хотел бы получить несколько советов о том, как справиться с результатами и получить

б) найти компонент Talend, который анализирует документы JSON, но в потоке, а не в одном файле в допустимом формате JSON.

Я искал этот компонент, но, похоже, не могу его найти. Из моего поиска кажется, что даже компонент tFileInputJSON является относительно новым.

**I definitely know this is something Java can do pretty easily. My problem is getting the whole thing synced up within the Talend framework.** 

У кого-нибудь есть совет, куда мне обратиться дальше?

Заранее спасибо.

деле «Код» (в окне хранилища слева), щелкнуть правой кнопкой мыши по подпрограммам и создать собственную подпрограмму.
Это позволяет вам написать функцию Java, которая затем может быть вызвана из любого места вашей работы (tMap, tJava и т. Д.).
Вы можете прочитать свой входной файл и вызвать функцию в каждой строке / элементе или что-то еще, что делает то, что вы хотите.

Как и любая функция Java, подпрограмма может затем записывать в файл, печатать на экран или возвращать какой-либо объект списка, с которым вы можете в дальнейшем работать в другом tJava, tJavaFlex, tJavaRow или любых других компонентах Talend в вашей работе.

Это может показаться немного странным, но вы можете многое сделать, просто используя пользовательские процедуры.

Если вы хотите пройти весь путь и создать свой собственный компонент, это может быть хорошим началом:<http://www.talendforge.org/forum/viewtopic.php?id=17650>
Конечно, создание компонентов занимает гораздо больше времени, но может быть полезно, если вы думаете, что вы будете повторно использовать этот код в нескольких проектах / случаях.



[JSON Object](https://www.json.org/java/) для каждой строки.

```
final BufferedReader br = new BufferedReader(new FileReader(file));
String line;

while ((line = br.readLine()) != null)         // read until EOF
{
  final JSONObject json = new JSONObject(line);
  ...
}

br.close();

```