解析json文件,筛选数据,写入新的json文件

/**
 * @className JsonConvert
 * @description: TODO 解析json文件,筛选数据,写入新的json文件
 * @author liuyucheng
 * @date 2022/9/7 9:20
 * @version 1.0
 */
public class JsonConvert {
 
    /**
     * @param args
     */
    public static void main(String[] args) {
        // 读取原始json文件并进行操作和输出
            StringBuffer s1 = readFileByLines("C:\\Users\\OneDrive\\桌面\\roadAll.json");    // 读取配置文件
            BufferedWriter bw = null;
        try {
            bw = new BufferedWriter(new FileWriter("C:\\Users\\OneDrive\\桌面\\roadAllByRef.json"));// 输出配置文件
            bw.write(s1.toString());
            bw.flush();
            bw.close();
        } catch (IOException e) {
            e.printStackTrace();
        }


    }
 
    public static StringBuffer readFileByLines(String fileName) {
        FileInputStream file = null;
        BufferedReader reader = null;
        InputStreamReader inputFileReader = null;
        StringBuffer content = new StringBuffer("{\n" +
                "\"type\": \"FeatureCollection\",\n" +
                "\"name\": \"roadAll\",\n" +
                "\"crs\": { \"type\": \"name\", \"properties\": { \"name\": \"urn:ogc:def:crs:OGC:1.3:CRS84\" } },\n" +
                "\"features\": [\n");
        String tempString = null;
        try {
            file = new FileInputStream(fileName);
            inputFileReader = new InputStreamReader(file, "utf-8");
            reader = new BufferedReader(inputFileReader);
            // 一次读入一行,直到读入null为文件结束
            while ((tempString = reader.readLine()) != null) {
                //content += tempString;
                if (tempString.contains("\"ref\": \"G528\"")){
                    content.append(tempString);
                    content.append("\n");
                }
            }
            content.deleteCharAt(content.length()-2);
            content.append("]}");
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        } finally {
            if (reader != null) {
                try {
                    reader.close();
                } catch (IOException e1) {
                }
            }
        }
        return content;
    }
 
}


版权声明:本文为m0_63840217原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。