gpt4 book ai didi

java - 如何使用 CDL 将 CSV 写入没有标题行的 JSON

转载 作者:行者123 更新时间:2023-12-02 05:14:10 26 4
gpt4 key购买 nike

我在 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
-----------------------------------
------------------------------------
-------------------------------------

我将 jsondata 转换为 CSV 并尝试替换标题 date,lng,time,place 但我没有找到任何方法通过编码来做到这一点......任何人都可以指导我....

    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 的文档,特别是 CDL.toString(JSONArray, JSONArray),其中指出:

The list of names is not included in the output.

如果你看一下 the source您可以更清楚地了解正在发生的事情。

请注意,如果您想更改输出中的列集或其顺序,您可以传入任何您想要的名称的 JSONArray 作为第一个参数 - 输出列将对应于该数组中的名称。

关于java - 如何使用 CDL 将 CSV 写入没有标题行的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27119243/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com