我正在尝试在骆驼 k 中解析 http 请求的响应正文。响应是 json 形式的{"weather":{...}, foo:{...},...}
,我只对这weather
部分感兴趣。我尝试了以下方法:
// camel-k: language=java
import org.apache.camel.builder.RouteBuilder;
public class Weather extends RouteBuilder {
@Override
public void configure() throws Exception {
from("timer:test?period=5000")
.to("ahc:{{weather.uri}}")
.log("${body.weather}");
}
}
这会导致以下异常:
org.apache.camel.component.bean.MethodNotFoundException: Method with name: weather not found on bean: java.io.ByteArrayInputStream@3584bf09 of type: java.io.ByteArrayInputStream on the exchange: Exchange[C8E32A97D83EBF3-000000000000001B]
我假设我首先必须将ByteArrayInputStream
json 转换为更方便的数据格式,然后才能访问各个字段。
使用 camel k 执行此操作的正确方法是什么?