Из того, что я могу сказать, smooks
не имеет метода, обеспечивающего это. Однако этого можно достичь, перебирая списки и извлекая содержимое в новый список.
Вы можете определить функцию для этого, например:
public List<Object> extractEmbeddedList(List<List<Object>> embeddedList)
{
List<Object> extractedList = new ArrayList<Object>();
for (List<Object> l : embeddedList) {
for (Object o : l) {
extractedList.add(o);
}
}
return extractedList;
}
Вот пример его использования:
List<List<Object>> embeddedList = new ArrayList<List<Object>>();
List<Object> someEmbeddedObjects = new ArrayList<Object>();
List<Object> moreEmbeddedObjects = new ArrayList<Object>();
List<Object> normalList = new ArrayList<Object>();
someEmbeddedObjects.add("I'm a String!");
someEmbeddedObjects.add("I'm another String!");
moreEmbeddedObjects.add(5);
moreEmbeddedObjects.add(6);
embeddedList.add(someEmbeddedObjects);
embeddedList.add(moreEmbeddedObjects);
normalList = extractEmbeddedList(embeddedList);
System.out.println(normalList.toString());
//Output is: [I'm a String!, I'm another String!, 5, 6]