gpt4 book ai didi

java - 如何在apachecamel中将csv转换为json

转载 作者:太空宇宙 更新时间:2023-11-04 09:41:32 24 4
gpt4 key购买 nike

我能够在 Camel Bindy 的帮助下将 csv 转换为 pojo。但我需要轻松地将字符串转换为 json?

我可以分割字符串。但是有没有有效的方法可以做到这一点?

我的pojo类:-

@CsvRecord(separator = ",",skipFirstLine = true)

public class Sample
{

//some fields

}

处理器类别:-

String samples=exchange.getIn().getBody(String.class);

String[] strings=samples.split("}");
System.out.println(strings[0]);
for(String strings1:strings)
{
String[] strings2=strings1.split("'");
for(int i=0;i<strings2.length;i++)
{
if(i%2==1) {
System.out.println(strings2[i]);
}
}
}
//Is there is efficient method we can do to convert the String to list of json. Assuming csv contains multiple record

路线生成器:-

public class SimpleRouteBuilder extends RouteBuilder {
private final BindyCsvDataFormat bindy=new BindyCsvDataFormat(com.company.model.Sample.class);;
@Override
public void configure() {

from("file:/path/?fileName=CCO_SUMMARY_20190315_165800 copy.csv&noop=true").unmarshal(bindy).process(new MyProcessor()).
to("file:/path/?fileName=akshay.txt");

}
}

想知道是否有有效的方法来解决这个问题?

最佳答案

.json()

参见camel json data format即:.json().log("${body}")

例如在您的场景中:

from("file:/path/?fileName=CCO_SUMMARY_20190315_165800 copy.csv&noop=true")
.unmarshal(bindy)
.marshal()
.json(JsonLibrary.Jackson).log("${body}")
.to("file:/path/?fileName=akshay.txt");

其中 json(JsonLibrary.Jackson) 强制使用 jackson 库进行转换。

关于java - 如何在apachecamel中将csv转换为json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55929532/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com