我的JsonNode精简了,我想转而精简;String[]>与CSV一样,第一行是头盔,然后我们有价值。 [
,因为只有在我们开始处理价值流之后,我才提取头盔。
GoogleAdsGetValuesResponse getValuesResponse = client.getValues(getValuesRequest);
AtomicLong consumedRows = new AtomicLong();
List<String> headers = new ArrayList<>();
Stream<String[]> valueStream =
getValuesResponse
.getValuesStream()
.limit(request.getLimit())
.map(
rowNode -> {
if (consumedRows.get() == 0) {
extractAllKeys(rowNode, "", headers);
headers.removeIf(header -> !header.contains("."));
}
String[] row =
headers.stream()
.map(header -> rowNode.at(getJsonPointerString(header)).asText())
.toArray(String[]::new);
consumedRows.getAndIncrement();
return row;
});
Stream<String[]> headerStream = Stream.of(headers.toArray(String[]::new), new String[] {});
Stream<String[]> dataStream = Stream.concat(headerStream, valueStream);
return TextDataUtils.sample(dataStream, Collections.emptyMap(), request.getLimit(), false);
我如何做到这一点? 将第一点内容从同一精简处添加到精简处。 赞赏任何建议。 我确实赞赏你能够提供的任何帮助。