繁体   English   中英

.then接受字符串

[英].thenAccept to string

目前我的代码如下:

client.sendAsync(request, BodyHandlers.ofString())
            .thenApply(HttpResponse::body)
            .thenAccept(System.out::println)
            .join()

.thenAccept(System.out::println) 行打印来自 last.fm 的 JSON 查询响应。

我试图找出用什么替换 System.out::println 来代替将响应保存到一个字符串,然后我可以迭代它来定义 Album 和 Track 对象的部分。 任何帮助将非常感激。

具体的解决方案在很大程度上取决于HttpResponse::body的返回类型。 假设返回的对象是一个String你有多种选择如何处理它。 一种可能是:

...thenAccept(HttpResponse::body)
.thenAccept( jsonString -> { /* save logic goes here*/})
.join();

我建议学习更多关于 lambdas 和方法引用以及处理它们的所有不同方法。 例如,您也可以外包保存逻辑以将字符串保存到它自己的方法中,然后使用this::saveJson引用它

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM