我能夠在駱駝綁定的幫助下將 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"); }}想知道是否有任何有效的方法來解決這個問題?
2 回答

紅糖糍粑
TA貢獻1815條經驗 獲得超6個贊
.json()
請參閱駱駝 json 數據格式, 即:.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");
wherejson(JsonLibrary.Jackson)
強制使用 jackson 庫進行轉換。

白板的微信
TA貢獻1883條經驗 獲得超3個贊
您可以使用 camel bindy t unmarshal csv to List of POJO
如果需要,根據輸出格式進行映射
在 Came 路線中使用 Jacson o Gson 編組映射數據。
從(“文件:/輸入/路徑/?noop = true”)
.unmarshal(綁定)
。元帥()
.json(JsonLibrary.Jackson).log("${body}")
.to("file:/path/?fileName=test.txt");
添加回答
舉報
0/150
提交
取消