Apache camel camel如何使用流模式处理json?
为了在流模式下读取json和解组,驼峰OOB中提供了哪些选项?如果不是现成的,如何实现这一点 我发现camel xstream可能会有所帮助。流媒体模式是默认的吗?还是我们需要做些别的事情来让它在流媒体模式下读取 还有杰克逊流媒体api。骆驼可以到达吗 一些例子会有所帮助。 多亏了您可以使用format,将Java对象封送到JSON并从JSON中解封 像Apache camel camel如何使用流模式处理json?,apache-camel,Apache Camel,为了在流模式下读取json和解组,驼峰OOB中提供了哪些选项?如果不是现成的,如何实现这一点 我发现camel xstream可能会有所帮助。流媒体模式是默认的吗?还是我们需要做些别的事情来让它在流媒体模式下读取 还有杰克逊流媒体api。骆驼可以到达吗 一些例子会有所帮助。 多亏了您可以使用format,将Java对象封送到JSON并从JSON中解封 像.marshall().json(JsonLibrary.Jackson)这样使用Jackson库的东西,您也可以使用其他库 下面是一个示例配置
.marshall().json(JsonLibrary.Jackson)
这样使用Jackson库的东西,您也可以使用其他库
下面是一个示例配置,用于流式传输csv文件内容并转换为JSON,然后调用MyBean类的publish方法
CsvDataFormat csv = new CsvDataFormat();
csv.setDelimiter(",");
csv.setQuoteDisabled(true);
csv.setUseMaps(true);
csv.setLazyLoad(true);
csv.setHeader(Arrays.asList("head1","head2","head3","message"));
from("file:///test/?fileName=test.csv&noop=true").split(body().tokenize("\n")).streaming().unmarshal(csv).marshal().json(JsonLibrary.Jackson).bean(MyBean.class,"publish").log("done.").end();
您可以使用json格式的解组器。像这样:
.unmarshal().json(JsonLibrary.Jackson, YourClass.class)
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
YourClass yourClass = exchange.getIn().getBody(YourClass.class);
})
或
在第一个示例中,您可以在Pojo中使用它,以便在如下流程中操作数据:
.unmarshal().json(JsonLibrary.Jackson, YourClass.class)
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
YourClass yourClass = exchange.getIn().getBody(YourClass.class);
})