首页 > 解决方案 > RXJava Observable Operator 从列表到 HashMap 列表

问题描述

我有一个 Observable 数组。我需要输出一个 HashMap 列表。但是我在输出中只得到了数组的一个元素。

如果输入是[1,2,3,4]

输出应该是{"results":[1,2,3,4]}

我有以下内容:

result.flatMap(asyncN1qlQueryResult ->
  asyncN1qlQueryResult.errors().flatMap(error -> {
    return Observable
      .error(new Exception("unable to execute n1ql query " + error.toString()));
  })
  .switchIfEmpty(asyncN1qlQueryResult.rows())
).map(row -> {
    JsonObject json = ((AsyncN1qlQueryRow) row).value();
    return json;
  }).map(json -> {
    sbResults.append(json.toString());
    sbResults.append(",");log.info(" sbresults : " + sbResults.toString());
    return sbResults;
  })
  .map(results -> {
    resultMap.put("results", results.toString());
    return resultMap;
  });

这似乎不起作用,因为我在输出中只得到一个元素。

标签: javaobservablerx-java2

解决方案


推荐阅读