Java 如何在apache camel中将csv转换为json

Java 如何在apache camel中将csv转换为json,java,apache-camel,Java,Apache Camel,我能够在camel bindy的帮助下将csv转换为pojo。但是我需要轻松地将字符串转换为json 我可以拆分字符串。但是有什么有效的方法吗 我的pojo课程:- @CsvRecord(separator=“,”,skipFirstLine=true) 公共类样本 { //一些领域 } 处理器类别:- String samples=exchange.getIn().getBody(String.class); String[]strings=samples.split(“}”); Syste

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

我可以拆分字符串。但是有什么有效的方法吗

我的pojo课程:-

@CsvRecord(separator=“,”,skipFirstLine=true)
公共类样本
{
//一些领域
}
处理器类别:-

String samples=exchange.getIn().getBody(String.class);
String[]strings=samples.split(“}”);
System.out.println(字符串[0]);
用于(字符串1:字符串)
{
字符串[]strings2=strings1.split(“”);
对于(int i=0;i.json()

请参阅ie:
.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库进行转换。

.json()

请参阅ie:
.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库进行转换

  • 您可以使用camel bindy t将csv解组到POJO列表中
  • 如果需要,根据输出格式进行映射
  • 在路由中使用Jacson o Gson封送映射数据
  • 从(“文件:/input/path/?noop=true”) .unmarshal(宾迪) 马歇尔先生() .json(JsonLibrary.Jackson).log(“${body}”) .to(“文件:/path/?fileName=test.txt”);
  • 您可以使用camel bindy t将csv解组到POJO列表中
  • 如果需要,根据输出格式进行映射
  • 在路由中使用Jacson o Gson封送映射数据
  • 从(“文件:/input/path/?noop=true”) .unmarshal(宾迪) 马歇尔先生() .json(JsonLibrary.Jackson).log(“${body}”) .to(“文件:/path/?fileName=test.txt”);
    谢谢你的评论。这很有帮助。我坚持使用main方法。我在main方法中有Thread.sleep(5000)。CamelContext CamelContext=new DefaultCamelContext();SimpleRouteBuilder simpleBuilder=new SimpleRouteBuilder();试试{CamelContext.addRoutes(simpleBuilder);CamelContext.start();//Thread.sleep(1000);如何摆脱此Thread.sleep并在完成后停止路由。我从未单独使用过它,但您可以在网上找到文档和示例apache站点中的大多数示例都已损坏,但您可以在以下位置找到摘要:如果您使用spring boot,感谢您的评论。这很有帮助。我坚持使用main方法。我有Thread.sleep(5000)在main方法中。CamelContext CamelContext=new DefaultCamelContext();SimpleRouteBuilder simpleBuilder=new SimpleRouteBuilder();尝试{CamelContext.addRoutes(simpleBuilder);CamelContext.start();//Thread.sleep(1000);如何摆脱此线程。睡眠并在完成后停止路由。我从未单独使用过它,但是您可以在网上找到文档和示例apache站点中的大多数示例都已损坏,但您可以在以下位置找到graal:如果您使用的是spring boot