如何使用Java中的JSONobject中的opencsv将列添加到csv文件中?

时间:2016-07-25 16:31:09

标签: java csv opencsv

我正在写一个小应用程序,我去了一个api,获取一些json数据并将其填入csv文件。

到目前为止,我得到了一个csv文件,其中包含正确的行,但是文件中的文本形式仍然是逗号而不是列。

我正在使用opencsv。

private void writeCsv(InputStream input, String name) throws IOException {
        String line;
        BufferedReader reader = new BufferedReader(new InputStreamReader(input, "UTF-8"));
        StringBuilder text = new StringBuilder();
        while ((line = reader.readLine()) != null) {
            text.append(line);
        }
        JSONArray docs = new JSONArray(text.toString());
        File file=new File(name + ".csv");
        String csv = CDL.toString(docs);
        CSVWriter writer = new CSVWriter(new FileWriter(file));
        BufferedReader sreader = new BufferedReader(new StringReader(csv));
        String csvline;
        while ((csvline = sreader.readLine()) != null) {
            writer.writeNext(csvline);
        }
        writer.close();
        System.out.println("done");
}

1 个答案:

答案 0 :(得分:0)

您需要添加列映射策略。

ColumnPositionMappingStrategy mappingStrategy = new ColumnPositionMappingStrategy();

查看此博客以便更好地理解。 http://www.javainterviewpoint.com/csvtobean-and-beantocsv-example-using-opencsv/