RxJava 。 flatMap 返回 SingleList 而不是 List<Object>

时间:2021-07-08 19:33:13

标签: java observable rx-java rx-android flatmap

我有这段代码。我正在尝试从 JSONArray 获取 JSONObjects,然后将其转换为 List 但获取的是 singlelist 而不是我需要的。也许我误解了什么?(我是 rxJava 的新手)

Observable.fromCallable(() -> client.newCall(request).execute())
            .map(resp -> Objects.requireNonNull(resp.body()).string())
            .map(JSONArray::new)
            .map(jsonArray -> {
                JSONObject[] jsonArr = new JSONObject[jsonArray.length()];
                for(int i = 0; i <jsonArray.length(); i++){
                    jsonArr[i] = jsonArray.getJSONObject(i);
                }
                return jsonArr;
            })
            .flatMap(Observable::fromArray).map(jsonObject -> {
        String name = jsonObject.getString("name");
        String capital = jsonObject.getString("capital");
        Country country = new Country(name, capital);
        return country;
    }).toList()
            .map(// List<Country ->  -> etc. doing )

0 个答案:

没有答案