我有一些JSON格式的mongodb数据库的数据...我想把它转换成JSON格式以便进一步处理....我把我的数据转换成CSV格式但是我不希望标题出现在CSV文件....我想删除CSV文件中的标题。希望我的问题现在很清楚.........
我的CSV文件格式如下。
**date,lng,time,place**
16-05-2013,77.152515,NIGHT,LosAngeles
16-05-2013,,77.883754,EVENING,NY
-----------------------------------
------------------------------------
-------------------------------------
我将我的jsondata转换为CSV并试图替换标题日期,行,时间,地点,但我没有找到任何方法通过编码来做到这一点..... Can有人引导我......
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();
}
答案 0 :(得分:2)
解决方案是使用带有单独数组名称的toString
,传递名称如下:
String csv = CDL.toString(docs.getJSONObject(0).names(), docs);
如果您想避免在空的JSONException
数组上使用docs
,那么在执行上述操作之前,您需要检查以确保docs
不为空。
有关详细信息,请查看CDL
的文档,特别是CDL.toString(JSONArray, JSONArray)
,其中声明:
输出中不包含名称列表。
如果您查看the source,您可以更清楚地了解正在发生的事情。
请注意,如果要更改输出中的列集或其顺序,可以将所需的任何JSONArray
名称作为第一个参数传递 - 输出列将对应于中的名称那个阵列。