Работа с Vertx JsonArray и RxJava Observables - PullRequest
0 голосов
/ 05 июня 2019

Вершина JsonObject содержит вершину JsonArray, аналогично:

{
 "myArray":[
   {"id":"1", name:"Yael" },
   {"id":"2", name:"Haddasa"}
 ]
}

Как правильно создать RxJava Observable с использованием массива, чтобы наблюдаемый обрабатывал каждый элемент в массиве отдельно. Пробовал следующее:

JsonArray vertxJsonArray = h.getJsonArray("myArray");
Observable<Object> observable = Observable.fromArray(vertxJsonArray);
observable.flatMapSingle(s -> {
   ...

Но, используя вышесказанное, массив не разбивается на отдельные элементы. Спасибо

1 Ответ

1 голос
/ 05 июня 2019

, поскольку JsonArray реализует Iterable, вы можете использовать Observable.fromIterable () , например:

@Test
public void from_iterable_test() {
    final TestObserver<Object> testObserver = new TestObserver<>();

    final String json = "{\"myArray\": [{\"id\": \"1\", \"name\": \"Yael\"}, {\"id\": \"2\", \"name\": \"Haddasa\"}] }";

    final JsonObject jsonObject = new JsonObject(json);

    final JsonArray jsonArray = jsonObject.getJsonArray("myArray");

    Observable.fromIterable(jsonArray).subscribe(testObserver);

    assertEquals(jsonArray.size(), testObserver.valueCount());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...