2014-11-25 101 views
0

我有一些數據爲JSON格式的mongodb數據庫...我想將其轉換爲JSON格式以供進一步處理....我將數據轉換爲CSV格式,但我不想CSV文件中的標題....我想從CSV文件中刪除標題。希望我的問題現在很清楚.........如何使用CDL將CSV寫入JSON而不使用標題行使用CDL

我的CSV文件格式如下。

**date,lng,time,place** 

16-05-2013,77.152515,NIGHT,LosAngeles 
16-05-2013,,77.883754,EVENING,NY 
----------------------------------- 
------------------------------------ 
------------------------------------- 

我將我jsondata爲CSV,並試圖更換標題日期,LNG,時間,地點但我沒有發現任何方式,通過編碼來做到這一點.....任何人都可以引導我....

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

*您如何*寫入CSV文件?代碼中的字符串「csv」是否包含CSV文件的內容? – toddlermenot 2014-11-25 05:18:34

+0

@toddlermenot我編輯了我的問題..... – chopss 2014-11-25 05:22:18

回答

2

的解決方案是使用接受名稱的單獨陣列的toString,通過像這樣的名字:

String csv = CDL.toString(docs.getJSONObject(0).names(), docs); 

如果你想避免JSONException在一個空的docs陣列上,您將要檢查以確保docs在執行上述操作之前不是空的。

有關詳細信息,看看該文檔CDL,尤其CDL.toString(JSONArray, JSONArray),其中規定:

名稱的列表不輸出包括在內。

如果你看看the source,你可以更清楚地瞭解發生了什麼。

請注意,如果您想要更改輸出中的一組列或其順序,您可以傳入任意JSONArray作爲第一個參數的名稱 - 輸出列將對應於該數組中的名稱。

+0

這個作品完美.....謝謝.... – chopss 2014-11-25 05:42:43

+0

如果我們想直接讀取CSV而無需標題,該怎麼辦 – chopss 2014-11-29 10:52:47

相關問題