为了账号安全,请及时绑定邮箱和手机立即绑定

在Java中将JSON转换为XLS / CSV

在Java中将JSON转换为XLS / CSV

慕田峪9158850 2019-12-03 14:22:48
是否有人有任何示例Java代码将JSON文档转换为XLS / CSV文件?我试图在Google上进行搜索,但无济于事。
查看完整描述

3 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

您只能将JSON数组转换为CSV文件。


可以说,您有一个类似于以下内容的JSON:


{"infile": [{"field1": 11,"field2": 12,"field3": 13},

            {"field1": 21,"field2": 22,"field3": 23},

            {"field1": 31,"field2": 32,"field3": 33}]}

让我们看一下将其转换为csv的代码:


import java.io.File;

import java.io.IOException;


import org.apache.commons.io.FileUtils;

import org.json.CDL;

import org.json.JSONArray;

import org.json.JSONException;

import org.json.JSONObject;


public class JSON2CSV {

    public static void main(String myHelpers[]){

        String jsonString = "{\"infile\": [{\"field1\": 11,\"field2\": 12,\"field3\": 13},{\"field1\": 21,\"field2\": 22,\"field3\": 23},{\"field1\": 31,\"field2\": 32,\"field3\": 33}]}";


        JSONObject output;

        try {

            output = new JSONObject(jsonString);



            JSONArray docs = output.getJSONArray("infile");


            File file=new File("/tmp2/fromJSON.csv");

            String csv = CDL.toString(docs);

            FileUtils.writeStringToFile(file, csv);

        } catch (JSONException e) {

            e.printStackTrace();

        } catch (IOException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }        

    }


}

现在,您已经从JSON生成了CSV。


它看起来应该像这样:


field1,field2,field3

11,22,33

21,22,23

31,32,33

Maven的依赖就像


<dependency>

    <groupId>org.json</groupId>

    <artifactId>json</artifactId>

    <version>20090211</version>

</dependency>


查看完整回答
反对 回复 2019-12-03
  • 3 回答
  • 0 关注
  • 867 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信