将json数据保存并生成到TXT文件中

本文介绍了一种将JSON数据转换为TXT文件的实用方法,包括添加Maven依赖、创建Java类进行转换,并提供了完整的代码示例。通过此方法,可以轻松地将JSON格式的数据批量导出为TXT文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如需转载分享,请标明出处,且不用于盈利为目的,谢谢合作!

将json数据保存并生成到TXT文件中

1.添加pom.xml依赖

		<!--lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>

2.新建类JsonToTXT.java

package com.yss.file.filedown.util;

import com.alibaba.fastjson.JSON;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.util.Iterator;

public class JsonToTXT {
    public static void createTXT(String src, JSONArray array) {
        File file = new File(src); //存储的目标文件
        FileWriter fw = null;
        BufferedWriter bw = null;
        try {
            fw = new FileWriter(file);
            bw = new BufferedWriter(fw);
            JSONObject first = array.getJSONObject(0);
            Iterator<String> iterator = first.keys();
            while (iterator.hasNext()) {
                // 得到key
                String key = (String) iterator.next();
                bw.write(key); //json字符串写入文件
                bw.write("\t");
            }
            bw.write("\r\n");
            for (int i = 0; i < array.size(); i++) {
                // 得到数组的每项
                JSONObject item = array.getJSONObject(i);
                // 得到key集合
                iterator = item.keys();
                while (iterator.hasNext()) {
                    // 得到key
                    String key = iterator.next();
                    // 得到key对应的value
                    String value = item.getString(key);
                    bw.write(value);
                    bw.write("\t");
                }
                bw.write("\r\n");
            }
            bw.flush();
            System.out.println("json数据写入完成");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if (bw != null) {
                    bw.close();
                }
                if (fw != null) {
                    fw.close();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    public static void main(String[] args) {
        String str = "[\n" +
                "    {\n" +
                "      \"姓名\":\"张三\",\n" +
                "\t  \"性别\":\"男\",\n" +
                "\t  \"年龄\":\"22\"\n" +
                "    },\n" +
                "\t {\n" +
                "      \"姓名\":\"李四\",\n" +
                "\t  \"性别\":\"男\",\n" +
                "\t  \"年龄\":\"23\"\n" +
                "    },\n" +
                "\t {\n" +
                "      \"姓名\":\"王五\",\n" +
                "\t  \"性别\":\"男\",\n" +
                "\t  \"年龄\":\"22\"\n" +
                "    },\n" +
                "\t {\n" +
                "      \"姓名\":\"张三丰\",\n" +
                "\t  \"性别\":\"男\",\n" +
                "\t  \"年龄\":\"100\"\n" +
                "    },\n" +
                "\t {\n" +
                "      \"姓名\":\"楚雨荨\",\n" +
                "\t  \"性别\":\"女\",\n" +
                "\t  \"年龄\":\"22\"\n" +
                "    },\n" +
                "\t {\n" +
                "      \"姓名\":\"张翰dfdfdf\",\n" +
                "\t  \"性别\":\"男\",\n" +
                "\t  \"年龄\":\"23\"\n" +
                "    },\n" +
                "\t {\n" +
                "      \"姓名\":\"张无忌sdfdsfdsfdfdfdff\",\n" +
                "\t  \"性别\":\"男\",\n" +
                "\t  \"年龄\":\"24\"\n" +
                "    },\n" +
                "\t {\n" +
                "      \"姓名\":\"赵敏\",\n" +
                "\t  \"性别\":\"女\",\n" +
                "\t  \"年龄\":\"23\"\n" +
                "    }\n" +
                "  ]";
        JSONArray jsonArray = JSONArray.fromObject(str);
        createTXT("D:/uselist.txt", jsonArray);
    }
}

3.结果数据
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值