Java 如何使用CDL在没有标题行的情况下将CSV写入JSON
我在mongodb数据库中有一些JSON格式的数据…我想将其转换为JSON格式以便进一步处理…我将数据转换为CSV格式,但我不希望CSV文件中包含标题…我想从CSV文件中删除标题。希望我的问题现在清楚了 我的CSV文件具有以下格式Java 如何使用CDL在没有标题行的情况下将CSV写入JSON,java,json,csv,Java,Json,Csv,我在mongodb数据库中有一些JSON格式的数据…我想将其转换为JSON格式以便进一步处理…我将数据转换为CSV格式,但我不希望CSV文件中包含标题…我想从CSV文件中删除标题。希望我的问题现在清楚了 我的CSV文件具有以下格式 **date,lng,time,place** 16-05-2013,77.152515,NIGHT,LosAngeles 16-05-2013,,77.883754,EVENING,NY ----------------------------------
**date,lng,time,place**
16-05-2013,77.152515,NIGHT,LosAngeles
16-05-2013,,77.883754,EVENING,NY
-----------------------------------
------------------------------------
-------------------------------------
我将我的jsondata转换为CSV,并试图替换标题日期、液化天然气、时间、地点,但我没有找到任何方法通过编码来实现……有人能指导我吗
JSONObject root = new JSONObject(data.getJsonData());
JSONArray docs = root.getJSONArray("data");
File file=new File("/home/Documents/file1.csv");
String csv = CDL.toString(docs);
System.out.println("csv"+csv);
try {
FileUtils.writeStringToFile(file,csv);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
解决方案是使用
toString
,它接受一个单独的名称数组,按如下方式传递名称:
String csv = CDL.toString(docs.getJSONObject(0).names(), docs);
如果要避免在空的docs
数组上出现JSONException
,您需要在执行上述操作之前检查以确保docs
不是空的
有关更多详细信息,请查看文档,尤其是CDL.toString(JSONArray,JSONArray)
,其中说明:
输出中不包括名称列表
如果你看一眼,你就能对正在发生的事情有一个稍微清晰的了解
请注意,如果要更改输出中的列集或其顺序,可以传入所需名称的任何
JSONArray
作为第一个参数-输出列将与该数组中的名称相对应。如何写入CSV文件?您代码中的字符串csv
是否包含csv文件的内容?@我没有编辑我的问题。。。。。