java - 将 JSON 转换为 CSV

标签 java json rest csv

我有以下格式的 JSON,我正在尝试写入 CSV:

{
    "results": [{

            "geo_position": {
                "Field1": 11,
                "Filed2": 12
            },
            "Field3": 13,
            "Filed4": 14,
            "Field5": 15
        },

        {
            "geo_position": {
                "Field1": 21,
                "Filed2": 22
            },
            "Field3": 23,
            "Filed4": 24,
            "Filed5": 25
        }
    ]
}

我期待这样的输出:

field1,field2,field3,field4,field5
11,12,13,14,15
21,22,23,24,25

我得到的输出 CSV 如下:

    geo_position,field3,field4,field5
   {Field1:11,Field2:12}, 13,14,15
   {Field2:21,Field2:22},23,24,25

我的java代码:

JSONObject jsonObj = new JSONObject(jsonArray);
System.out.println(jsonObj);
JSONArray docs = jsonObj.getJSONArray("results");
File file=new File("C:/fromJSON2.csv");
String csv = CDL.toString(docs);
FileUtils.writeStringToFile(file, csv);

有人能帮我弄清楚为什么我的格式不同吗?我应该怎么做才能获得我期望的格式?

最佳答案

数据中有一些错别字。

你可以试试 json2flat 用于转换 JSON 文档以获得等效的 CSV 表示。
如果您想尝试更多 JSON 文档,请单击 here .

对于 JSON 数据:

{
    "results": [{

            "geo_position": {
                "Field1": 11,
                "Field2": 12
            },
            "Field3": 13,
            "Field4": 14,
            "Field5": 15
        },

        {
            "geo_position": {
                "Field1": 21,
                "Field2": 22
            },
            "Field3": 23,
            "Field4": 24,
            "Field5": 25
        }
    ]
}

等效的 CSV 表示:

results/Field3,results/Field4,results/Field5,results/geo_position/Field1,results/geo_position/Field2
13.0,14.0,15.0,11.0,12.0
23.0,24.0,25.0,21.0,22.0

代码也非常简单。

JFlat flatMe = new JFlat(jsonString);
flatMe
    .json2Sheet()
    .headerSeparator("/")
    .write2csv("test.csv");

这会将结果写入 test.csv 文件。

关于java - 将 JSON 转换为 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20388119/

相关文章:

java - 如何正确向Spring Restful WebService提交特殊字符?

java - 当 RequestBody 参数的某些属性为 null 时,如何返回 400 HTTP 错误代码?

rest - RESTFul Web 服务和文件下载的最佳实践

java - JRJC 抛出 NoClassDefFound 异常

java - 动态地将属性文件值替换为另一个值 - Spring maven

java - Java中的ArrayList只打印List中的最后一个对象

c# - 如何在 .NET MVC 中返回 Backbone 集合

java - 如何在 WebSphere 中的受信任证书 keystore 中安装证书?

ios - JSONValue 不解析 JSON 响应

ruby-on-rails - Rails : NoMethodError (Undefined method _url for _controller. 创建后我似乎无法正确响应 json。为什么?