我能够在骆驼绑定的帮助下将csv转换为pojo。但是我需要轻松地将字符串转换为json吗?
我可以分割字符串。但是有什么有效的方法吗?
我的pojo课堂:-
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");
}
}
Route Builder:-
/ns0:domain/ns0:server[ns0:machine='server2']
渴望知道是否有任何有效的方法来解决这个问题?
答案 0 :(得分:0)
.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库进行转换。
答案 1 :(得分:0)
from("file:/input/path/?noop=true") .unmarshal(bindy) .marshal() .json(JsonLibrary.Jackson).log("${body}") .to("file:/path/?fileName=test.txt");