io.vertx.core.json.JsonArray.stream()方法的使用及代码示例

x33g5p2x  于2022-01-21 转载在 其他  
字(9.6k)|赞(0)|评价(0)|浏览(139)

本文整理了Java中io.vertx.core.json.JsonArray.stream()方法的一些代码示例,展示了JsonArray.stream()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。JsonArray.stream()方法的具体详情如下:
包路径:io.vertx.core.json.JsonArray
类名称:JsonArray
方法名:stream

JsonArray.stream介绍

[英]Get a Stream over the entries in the JSON array
[中]通过JSON数组中的条目获取流

代码示例

代码示例来源:origin: eclipse-vertx/vert.x

private void testStreamCorrectTypes(JsonObject object) {
 object.getJsonArray("object1").stream().forEach(innerMap -> {
  assertTrue("Expecting JsonObject, found: " + innerMap.getClass().getCanonicalName(), innerMap instanceof JsonObject);
 });
}

代码示例来源:origin: eclipse-vertx/vert.x

@Test
public void testStream() {
 jsonArray.add("foo");
 jsonArray.add(123);
 JsonObject obj = new JsonObject().put("foo", "bar");
 jsonArray.add(obj);
 List<Object> list = jsonArray.stream().collect(Collectors.toList());
 Iterator<Object> iter = list.iterator();
 assertTrue(iter.hasNext());
 Object entry = iter.next();
 assertEquals("foo", entry);
 assertTrue(iter.hasNext());
 entry = iter.next();
 assertEquals(123, entry);
 assertTrue(iter.hasNext());
 entry = iter.next();
 assertEquals(obj, entry);
 assertFalse(iter.hasNext());
}

代码示例来源:origin: xenv/gushici

private void getHelpFromRedis(Message message) {
  redisClient.lrange(Key.REDIS_HELP_LIST, 0, -1, res -> {
    if (res.succeeded()) {
      JsonArray array = res.result();
      JsonArray newArray = array.stream()
        .map(text -> {
          String prefix = config().getString("api.url", "http://localhost/");
          return new JsonObject((String) text).stream()
            .collect(Collectors.toMap(Map.Entry::getKey,
              v -> prefix + v.getValue().toString().replace(":", "/")));
        })
        .collect(JsonCollector.toJsonArray());
      message.reply(newArray);
    } else {
      log.error("Fail to get data from Redis", res.cause());
      message.fail(500, res.cause().getMessage());
    }
  });
}

代码示例来源:origin: io.vertx/vertx-core

private void testStreamCorrectTypes(JsonObject object) {
 object.getJsonArray("object1").stream().forEach(innerMap -> {
  assertTrue("Expecting JsonObject, found: " + innerMap.getClass().getCanonicalName(), innerMap instanceof JsonObject);
 });
}

代码示例来源:origin: xenv/gushici

@Override
public void start(Future<Void> startFuture) {
  vertx.eventBus().consumer(Key.GET_GUSHICI_FROM_REDIS, this::getGushiciFromRedis);
  vertx.eventBus().consumer(Key.GET_HELP_FROM_REDIS, this::getHelpFromRedis);
  redisClient = RedisClient.create(vertx, redisOptions);
  // 从 redis 缓存所有 key
  Future<JsonArray> imgKeys = Future.future(f -> redisClient.keys(Key.IMG, f));
  Future<JsonArray> jsonKeys = Future.future(f -> redisClient.keys(Key.JSON, f));
  CompositeFuture.all(Arrays.asList(imgKeys, jsonKeys)).setHandler(v -> {
    if (v.succeeded()) {
      imgKeys.result().addAll(jsonKeys.result())
        .stream()
        .forEach(key -> keysInRedis.insert((String) key));
      startFuture.complete();
    } else {
      log.error("DataService fail to start", v.cause());
      startFuture.fail(v.cause());
    }
  });
}

代码示例来源:origin: io.vertx/vertx-core

@Test
public void testStream() {
 jsonArray.add("foo");
 jsonArray.add(123);
 JsonObject obj = new JsonObject().put("foo", "bar");
 jsonArray.add(obj);
 List<Object> list = jsonArray.stream().collect(Collectors.toList());
 Iterator<Object> iter = list.iterator();
 assertTrue(iter.hasNext());
 Object entry = iter.next();
 assertEquals("foo", entry);
 assertTrue(iter.hasNext());
 entry = iter.next();
 assertEquals(123, entry);
 assertTrue(iter.hasNext());
 entry = iter.next();
 assertEquals(obj, entry);
 assertFalse(iter.hasNext());
}

代码示例来源:origin: vert-x3/vertx-web

private void fetchMessages(List<String> messages) {
  client.post("/test/400/8ne8e94a/xhr", onSuccess(resp -> {
   assertEquals(200, resp.statusCode());
   resp.bodyHandler(buffer -> {
    String body = buffer.toString();
    if (body.startsWith("a")) {
     JsonArray content = new JsonArray(body.substring(1));
     messages.addAll(content.stream().map(Object::toString).collect(toList()));
    }
    if (messages.size() < 2) {
     fetchMessages(messages);
    } else {
     assertEquals(Arrays.asList("Hello", "World"), messages);
     testComplete();
    }
   });
  })).end();
 }
}

代码示例来源:origin: io.vertx/vertx-consul-client

@Override
public ConsulClient peersStatus(Handler<AsyncResult<List<String>>> resultHandler) {
 requestArray(HttpMethod.GET, "/v1/status/peers", null, null, resultHandler, (arr, headers) -> arr.stream()
  .map(obj -> (String) obj)
  .collect(Collectors.toList()));
 return this;
}

代码示例来源:origin: sczyh30/vertx-blueprint-microservice

public Order(JsonObject json) {
 OrderConverter.fromJson(json, this);
 if (json.getValue("products") instanceof String) {
  this.products = new JsonArray(json.getString("products"))
   .stream()
   .map(e -> (JsonObject) e)
   .map(ProductTuple::new)
   .collect(Collectors.toList());
 }
}

代码示例来源:origin: cn.vertxup/vertx-co

private Uarr(final JsonArray jsonArray) {
  this.arrayReference = Fn.getNull(new JsonArray(), () ->
      new JsonArray(jsonArray.stream().filter(Objects::nonNull)
          .map(item -> (JsonObject) item)
          .collect(Collectors.toList())), jsonArray);
  LOGGER.debug(Info.STREAM_START, String.valueOf(this.hashCode()), jsonArray);
}

代码示例来源:origin: silentbalanceyh/vertx-zero

private Uarr(final JsonArray jsonArray) {
  this.arrayReference = Fn.getNull(new JsonArray(), () ->
      new JsonArray(jsonArray.stream().filter(Objects::nonNull)
          .map(item -> (JsonObject) item)
          .collect(Collectors.toList())), jsonArray);
  LOGGER.debug(Info.STREAM_START, String.valueOf(this.hashCode()), jsonArray);
}

代码示例来源:origin: io.vertx/vertx-consul-client

@Override
public ConsulClient listAclTokens(Handler<AsyncResult<List<AclToken>>> resultHandler) {
 requestArray(HttpMethod.GET, "/v1/acl/list", null, null, resultHandler, (arr, headers) ->
  arr.stream()
   .map(obj -> new AclToken((JsonObject) obj))
   .collect(Collectors.toList()));
 return this;
}

代码示例来源:origin: silentbalanceyh/vertx-zero

public <T> Future<Boolean> deleteAsync(final JsonObject filters, final String pojo) {
  return findAsync(filters)
      .compose(Ux.fnJArray(this.analyzer.getPojoFile()))
      .compose(array -> Future.succeededFuture(array.stream()
          .map(item -> (JsonObject) item)
          .map(item -> item.getValue("key"))
          .collect(Collectors.toList())))
      .compose(item -> Future.succeededFuture(item.toArray()))
      .compose(ids -> this.deleteByIdAsync(ids));
}

代码示例来源:origin: io.vertx/vertx-codegen

private static <T> List<T> fromArray(JsonObject obj, String name, Function<Object, T> converter) {
 JsonArray array = obj.getJsonArray(name);
 if (array != null) {
  return array.stream().map(converter).collect(Collectors.toList());
 } else {
  return null;
 }
}

代码示例来源:origin: io.vertx/vertx-rx-java-gen

private static <T> List<T> fromArray(JsonObject obj, String name, Function<Object, T> converter) {
 JsonArray array = obj.getJsonArray(name);
 if (array != null) {
  return array.stream().map(converter).collect(Collectors.toList());
 } else {
  return null;
 }
}

代码示例来源:origin: io.vertx/vertx-consul-client

@Override
public ConsulClient listNodeSessionsWithOptions(String nodeId, BlockingQueryOptions options, Handler<AsyncResult<SessionList>> resultHandler) {
 requestArray(HttpMethod.GET, "/v1/session/node/" + urlEncode(nodeId), Query.of(options), null, resultHandler, (arr, headers) -> {
  List<Session> list = arr.stream().map(obj -> SessionParser.parse((JsonObject) obj)).collect(Collectors.toList());
  return new SessionList().setList(list).setIndex(Long.parseLong(headers.get(INDEX_HEADER)));
 });
 return this;
}

代码示例来源:origin: io.vertx/vertx-consul-client

@Override
public ConsulClient catalogNodesWithOptions(NodeQueryOptions options, Handler<AsyncResult<NodeList>> resultHandler) {
 Query query = options == null ? null : Query.of("near", options.getNear()).put(options.getBlockingOptions());
 requestArray(HttpMethod.GET, "/v1/catalog/nodes", query, null, resultHandler, (arr, headers) -> {
  List<Node> list = arr.stream().map(obj -> NodeParser.parse((JsonObject) obj)).collect(Collectors.toList());
  return new NodeList().setList(list).setIndex(Long.parseLong(headers.get(INDEX_HEADER)));
 });
 return this;
}

代码示例来源:origin: io.vertx/vertx-consul-client

static ServiceEntry parse(JsonObject json) {
  return new ServiceEntry()
   .setNode(NodeParser.parse(json.getJsonObject(NODE_KEY)))
   .setService(ServiceParser.parseAgentInfo(json.getJsonObject(SERVICE_KEY)))
   .setChecks(json.getJsonArray(CHECKS_KEY).stream().map(obj -> CheckParser.parse((JsonObject) obj)).collect(Collectors.toList()));
 }
}

代码示例来源:origin: io.vertx/vertx-consul-client

@Override
public ConsulClient catalogServiceNodesWithOptions(String service, ServiceQueryOptions options, Handler<AsyncResult<ServiceList>> resultHandler) {
 Query query = options == null ? null : Query.of("tag", options.getTag()).put("near", options.getNear()).put(options.getBlockingOptions());
 requestArray(HttpMethod.GET, "/v1/catalog/service/" + urlEncode(service), query, null, resultHandler, (arr, headers) -> {
  List<Service> list = arr.stream().map(obj -> new Service((JsonObject) obj)).collect(Collectors.toList());
  return new ServiceList().setList(list).setIndex(Long.parseLong(headers.get(INDEX_HEADER)));
 });
 return this;
}

代码示例来源:origin: io.vertx/vertx-consul-client

@Override
public ConsulClient healthServiceNodesWithOptions(String service, boolean passing, ServiceQueryOptions options, Handler<AsyncResult<ServiceEntryList>> resultHandler) {
 Query query = new Query().put("passing", passing ? 1 : null);
 if (options != null) {
  query.put(options.getBlockingOptions()).put("near", options.getNear()).put("tag", options.getTag());
 }
 requestArray(HttpMethod.GET, "/v1/health/service/" + urlEncode(service), query, null, resultHandler, (arr, headers) -> {
  List<ServiceEntry> list = arr.stream().map(obj -> ServiceEntryParser.parse((JsonObject) obj)).collect(Collectors.toList());
  return new ServiceEntryList().setList(list).setIndex(Long.parseLong(headers.get(INDEX_HEADER)));
 });
 return this;
}

相关文章