当前位置: 首页 > 知识库问答 >
问题:

从JSON String Java创建CSV文件

方献
2023-03-14
this.btnCreateFile = new JButton("Create File");
    this.btnCreateFile.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            lblOutput.setText(textArea.getText());

            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();
            }
        }
    });
this.btnCreateFile = new JButton("Create File");
    this.btnCreateFile.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            lblOutput.setText(textArea.getText());


            JSONObject output;
            try {
                output = new JSONObject(textArea);


                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();
            }
        }
    });
{"infile": [{"field1": 11,"field2": 12,"field3": 13},
        {"field1": 21,"field2": 22,"field3": 23},
        {"field1": 31,"field2": 32,"field3": 33}]}

共有1个答案

谭越
2023-03-14

试着改变这一行

output = new JSONObject(textArea);

进入

output = new JSONObject(textArea.getText());

我还建议打印以下内容的输出:

textArea.getText()
 类似资料:
  • 问题内容: 我正在尝试从csv文件创建字典。csv文件的第一列包含唯一键,第二列包含值。csv文件的每一行代表字典中的唯一键,值对。我尝试使用类,但是我只能弄清楚如何为每一行生成一个新的字典。我要一部字典。这是我尝试使用的代码: 当我运行上面的代码时,我得到一个。如何从csv文件创建一个字典? 问题答案: 我相信你正在寻找的语法如下: 或者,对于,你需要:

  • 问题内容: 我想创建一个csv文件,但是当我运行代码时,它返回一个空白页,没有csv文件。我使用PHP5。我使用以下代码: 谢谢! 问题答案: 其空白,因为您正在写信。您应该写到using 代替,还应该发送标头信息以表明它是csv。 例

  • 问题内容: 我试图允许用户下载包含其操作定义的数据的CSV文件。该文件不存在,它是动态创建的。如何在Flask中做到这一点? 问题答案: 使用生成数据并传输响应。使用写入内存缓冲区,而不是生成中间文件。 如果该generate函数需要从current中获取信息request,则应使用修饰stream_with_context,否则您将收到“在外部请求上下文中工作”错误。其他所有内容保持不变。

  • 问题内容: 我正在寻找一个允许我将.csv内容映射到对象的库。 就像是: 然后说像这样: 从给定的CSV: 有谁知道这样的API,或者做类似的事情。我不希望它必须使用注释,我只是希望能够用一行代码和一个预定义的类来加载文件。 问题答案: JSefa允许您注释可在序列化和反序列化过程中使用的Java类。本教程演示了如何与CsvIOFactory类一起使用。 (来自教程)对bean进行注释就像在值列表

  • 我试图允许用户下载一个CSV文件,其中包含由其操作定义的数据。该文件不存在,它是动态创建的。我怎么能在烧瓶里做这个?

  • 问题内容: 我刚刚了解到MySQL具有本地CSV存储引擎,该引擎将数据存储在每个表的逗号分隔值文件中。 是否可以直接从上传的CSV文件创建表格,例如: 用户在哪里上传? 问题答案: 这不可能。要创建表,您需要一个表架构。您拥有的是一个数据文件。无法使用它创建模式。 您可以做的是检查文件中是否有标题行,在这种情况下,您可以使用该标题行手动创建表。 但是,有一种使用批处理文件生成create tabl