2013-02-14 89 views
-4

我试图将CSV文件转换为JSON格式,但我不知道ANT或MAVEN。我使用过Apache POI。我正在尝试使用Apache POI来做到这一点。有没有其他方法可以做到这一点?在没有ANT或Maven的情况下将CSV转换为JSON

,这就是我要怎样做,但得到以下错误 --java.lang.ClassNotFoundException:org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheet

//开始构建JSON。

JSONObject json = new JSONObject(); 
    JSONArray rows=new JSONArray(); 

    for (Iterator<org.apache.poi.ss.usermodel.Row> rowsIT = sheet.rowIterator(); rowsIT.hasNext();) 
    { 
     org.apache.poi.ss.usermodel.Row row = rowsIT.next(); 
     JSONObject jRow = new JSONObject(); 

     // Iterate through the cells. 
     JSONArray cells = new JSONArray(); 
     for (Iterator<Cell> cellsIT = row.cellIterator(); cellsIT.hasNext();) 
     { 
      Cell cell = cellsIT.next(); 
      cells.put(cell.getStringCellValue()); 
     } 
     jRow.put("cell", cells); 
     rows.put(jRow); 
    } 
+1

是它转换成JSON,还有另一种方式来做到这一点。问题回答了。 – Cerbrus 2013-02-14 10:14:06

+0

请发布您的CSV标题,我为您制作了二十行代码...... – Aerospace 2013-02-14 10:14:59

回答

0

简单CSV可以通过简单的Java编码如下

首先负载使用

BufferedReader.readLine() 

然后使用

String.split(",") // to get the value from each line 

而写的每个值的文件被转换为JSON输出使用

BufferedWriter // with the necessary JSON braces and quoting 
+0

此方法很容易导致严重的解析错误。例如,记录的分隔符可能不是'newline'。此外,还有引号/转义分隔符字符的可能性。另一方面,引用字符也可以在引用的单元格中逃脱。无论如何,我建议使用复杂的框架。 – MCL 2013-02-14 10:28:51

+0

@MCL,关于框架的任何建议? – 2013-02-14 10:47:58

+0

@Sri [Apache Commons library for CSV](http://commons.apache.org/csv/)怎么样? – MCL 2013-02-14 10:50:58

相关问题