001import gudusoft.gsqlparser.util.json.JSON;
002
003import java.io.IOException;
004import java.nio.file.Files;
005import java.nio.file.Paths;
006import java.util.HashMap;
007import java.util.Map;
008
009
010public class readDagJson {
011    public static void main(String[] args) {
012        String jsonFilePath = "c:\\baidudisk\\works\\tech_support\\dag\\20240417 ParserErrorSummaryFile.json";
013
014        try {
015            String jsonContent = new String(Files.readAllBytes(Paths.get(jsonFilePath)));
016           // JSONObject jsonObject = new JSONObject(jsonContent);
017            Map<String, String> sqlQueries = extractSqlQueries(jsonContent);
018
019            // Print the extracted SQL queries
020            for (Map.Entry<String, String> entry : sqlQueries.entrySet()) {
021                System.out.println("\n\n-- Key: " + entry.getKey());
022                System.out.println("\n\n-- SQL Query: \n\n" + entry.getValue());
023                System.out.println(";");
024            }
025        } catch (IOException e) {
026            e.printStackTrace();
027        }
028    }
029
030    private static Map<String, String> extractSqlQueries(String jsonString) {
031        Map<String, String> sqlQueries = new HashMap<>();
032        Map<String, Object> jsonObject = (Map<String, Object>)JSON.parseObject(jsonString);
033
034        for (String key : jsonObject.keySet()) {
035            Map<String, Object> innerObject = (Map<String, Object>)jsonObject.get(key);
036            Map<String, Object> mapObject = (Map<String, Object>)innerObject.get("map");
037
038            for (String queryKey : mapObject.keySet()) {
039                String sqlQuery = queryKey;
040                String errorMessage = (String)mapObject.get(queryKey);
041
042                sqlQueries.put(key, sqlQuery);
043            }
044        }
045
046        return sqlQueries;
047    }
048}