Я не верю, что FreeFormTextRecordSetWriter в настоящее время разрешает доступ к вложенным полям, пожалуйста, напишите Jira , чтобы добавить эту возможность, или, возможно, FreeFormTextRecordPathWriter, чтобы разрешить использование выражений RecordPath.
Я предполагаю, что если вы пытаетесь использовать FreeFormTextRecordSetWriter, то вы знаете, что в массиве data
всегда будет две записи. В этом случае, поскольку ввод / вывод действителен JSON, если в потоковом файле есть один объект, вы можете использовать JoltTransform JSON со следующим значением spe c:
[
{
"operation": "shift",
"spec": {
"data": {
"*": {
"0": "data1",
"1": "data2"
}
},
"*": "&"
}
}
]
Если есть более одного JSON объекта в файле, вы можете использовать JoltTransformRecord с JsonTreeReader и JsonRecordSetWriter и приведенным выше spe c.
Если вы не знаете, сколько элементов в массиве, вы можете все еще разделяет их с помощью следующего spe c, но обратите внимание, что первый элемент имеет индекс 0, а не 1 (поэтому data0
вместо data1
):
[
{
"operation": "shift",
"spec": {
"data": {
"*": {
"*": "data&"
}
},
"*": "&"
}
}
]
UpdateRecord - еще одна опция , но я считаю, что вам все равно придется знать, сколько элементов в массиве.