使用java将JSON转换为CSV

时间:2014-05-05 11:44:34

标签: java json csv

我正在尝试将JSON转换为CSV文件。但我正在面对这个问题 JSONArray docs = output.getJSONArray(“文本将因每次执行而异。”); 如何获取getJSONArray(“xxx”)???

的值
 JSONObject output = new JSONObject(jsonString);
 JSONArray docs = output.getJSONArray("elements");
 File file=new File(csvFilepath);
 String csv = CDL.toString(docs);
 FileUtils.writeStringToFile(file, csv);

先谢谢

4 个答案:

答案 0 :(得分:0)

这取决于您的JSON结构以及CSV的预期布局
没有剪切和粘贴的答案,你将不得不付出一些实际的努力,以你需要的方式映射事物。

从JSON中选择所需的对象,然后遍历生成的数组并将每个对应的映射到CSV中的一行
没有什么太费劲,只是普通的循环迭代和文件处理。

答案 1 :(得分:0)

我使用以下代码获得输出

String[] Names=output.getNames(output);
JSONArray docs =output.getJSONArray(Names[0]);

答案 2 :(得分:0)

如果您尝试将JSON文档转换为CSV,则可以尝试使用库json2flat

它接受任何动态JSON文档并尝试将其转换为合适的格式。

有关代码用法和示例JSON转换,请click on this link.

答案 3 :(得分:-1)

这样的东西?

public static void main(String[] args) throws JSONException {
        String numbers = "{\"test\":[{\"elements\" : \"1\"},{\"elements\":\"2\"},{\"elements\":\"3\"}]}";
        JSONObject output = new JSONObject(numbers);
        JSONArray docs = output.getJSONArray("test");

        for (int i = 0; i < docs.length(); i++) {
            System.out.println(docs.get(i));
        }

    }