rxjavaflatmap返回singlelist而不是list< object>

tkclm6bt  于 2021-08-20  发布在  Java
关注(0)|答案(0)|浏览(185)

我有这段代码。我试图从jsonarray获取JSONObject,然后将其转换为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 )

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题