1
1
package com .inzapp .jsonToSqlParser ;
2
2
3
- import com .inzapp .jsonToSqlParser .config .Config ;
4
3
import com .inzapp .jsonToSqlParser .core .Parser ;
5
4
import net .sf .jsqlparser .parser .CCJSqlParserUtil ;
6
5
import org .json .JSONObject ;
7
6
8
- import java .io .BufferedReader ;
9
- import java .io .FileOutputStream ;
10
- import java .io .FileReader ;
11
- import java .util .Stack ;
12
-
13
7
public class JsonToSqlParser extends Parser {
14
- /**
15
- * entry point in execution jar file
16
- *
17
- * @param args [0] : input file name, default is "input.json"
18
- * [1] : output file name, default is "output.txt"
19
- */
20
- public static void main (String [] args ) {
21
- String inputFileName = Config .INPUT_FILE_NAME ;
22
- String outputFileName = Config .OUTPUT_FILE_NAME ;
23
- if (args != null && args .length == 2 ) {
24
- inputFileName = args [0 ];
25
- outputFileName = args [1 ];
26
- }
27
-
28
- JsonToSqlParser jsonToSqlParser = new JsonToSqlParser ();
29
- JSONObject json = jsonToSqlParser .readJsonFromFile (inputFileName );
30
- if (json == null ) {
31
- System .out .println ("failed to load json" );
32
- return ;
33
- }
34
-
35
- String sql = jsonToSqlParser .parse (json );
36
- if (sql == null ) {
37
- System .out .println ("parse failure" );
38
- return ;
39
- }
40
-
41
- try {
42
- System .out .println ("input json\n " );
43
- System .out .println (json .toString (4 ));
44
- System .out .println ();
45
-
46
- System .out .println ("output sql\n " );
47
- System .out .println (sql );
48
- System .out .println ();
49
- } catch (Exception e ) {
50
- e .printStackTrace ();
51
- }
52
-
53
- jsonToSqlParser .saveFile (sql , outputFileName );
54
- System .out .println ("parse success" );
55
- }
56
-
57
- private String removeOuterBracket (String sql ) {
58
- if (sql .charAt (0 ) == '(' && sql .charAt (sql .length () - 1 ) == ')' ) {
59
- Stack <Boolean > bracketStack = new Stack <>();
60
- for (int i = 0 ; i < sql .length (); ++i ) {
61
- if (sql .charAt (i ) == '(' ) bracketStack .push (true );
62
- else if (sql .charAt (i ) == ')' ) {
63
- bracketStack .pop ();
64
- if (bracketStack .size () == 0 && i != sql .length () - 1 )
65
- return sql ;
66
- }
67
- }
68
- } else return "" ;
69
- return "" ;
70
- }
8
+ // /**
9
+ // * entry point in execution jar file
10
+ // *
11
+ // * @param args [0] : input file name, default is "input.json"
12
+ // * [1] : output file name, default is "output.txt"
13
+ // */
14
+ // public static void main(String[] args) {
15
+ // String inputFileName = Config.INPUT_FILE_NAME;
16
+ // String outputFileName = Config.OUTPUT_FILE_NAME;
17
+ // if (args != null && args.length == 2) {
18
+ // inputFileName = args[0];
19
+ // outputFileName = args[1];
20
+ // }
21
+ //
22
+ // JsonToSqlParser jsonToSqlParser = new JsonToSqlParser();
23
+ // JSONObject json = jsonToSqlParser.readJsonFromFile(inputFileName);
24
+ // if (json == null) {
25
+ // System.out.println("failed to load json");
26
+ // return;
27
+ // }
28
+ //
29
+ // String sql = jsonToSqlParser.parse(json);
30
+ // if (sql == null) {
31
+ // System.out.println("parse failure");
32
+ // return;
33
+ // }
34
+ //
35
+ // try {
36
+ // System.out.println("input json\n");
37
+ // System.out.println(json.toString(4));
38
+ // System.out.println();
39
+ //
40
+ // System.out.println("output sql\n");
41
+ // System.out.println(sql);
42
+ // System.out.println();
43
+ // } catch (Exception e) {
44
+ // e.printStackTrace();
45
+ // }
46
+ //
47
+ // jsonToSqlParser.saveFile(sql, outputFileName);
48
+ // System.out.println("parse success");
49
+ // }
71
50
72
51
/**
73
52
* head method as java library
@@ -85,43 +64,43 @@ public String parse(String jsonString) {
85
64
}
86
65
}
87
66
88
- /**
89
- * read json string from file and convert is to json object
90
- *
91
- * @param fileName input file name, default is "input.json"
92
- * @return converted json object
93
- */
94
- private JSONObject readJsonFromFile (String fileName ) {
95
- try {
96
- BufferedReader br = new BufferedReader (new FileReader (fileName ));
97
- StringBuilder sb = new StringBuilder ();
98
- while (true ) {
99
- String line = br .readLine ();
100
- if (line == null )
101
- break ;
102
-
103
- sb .append (line ).append ('\n' );
104
- }
105
- String jsonString = sb .toString ();
106
- return new JSONObject (jsonString );
107
- } catch (Exception e ) {
108
- e .printStackTrace ();
109
- return null ;
110
- }
111
- }
112
-
113
- /**
114
- * save converted sql string to file
115
- *
116
- * @param sql converted sql from parser
117
- * @param fileName output file name, default is "output.txt"
118
- */
119
- private void saveFile (String sql , String fileName ) {
120
- try {
121
- FileOutputStream fos = new FileOutputStream (fileName );
122
- fos .write (sql .getBytes ());
123
- } catch (Exception e ) {
124
- e .printStackTrace ();
125
- }
126
- }
67
+ // /**
68
+ // * read json string from file and convert is to json object
69
+ // *
70
+ // * @param fileName input file name, default is "input.json"
71
+ // * @return converted json object
72
+ // */
73
+ // private JSONObject readJsonFromFile(String fileName) {
74
+ // try {
75
+ // BufferedReader br = new BufferedReader(new FileReader(fileName));
76
+ // StringBuilder sb = new StringBuilder();
77
+ // while (true) {
78
+ // String line = br.readLine();
79
+ // if (line == null)
80
+ // break;
81
+ //
82
+ // sb.append(line).append('\n');
83
+ // }
84
+ // String jsonString = sb.toString();
85
+ // return new JSONObject(jsonString);
86
+ // } catch (Exception e) {
87
+ // e.printStackTrace();
88
+ // return null;
89
+ // }
90
+ // }
91
+ //
92
+ // /**
93
+ // * save converted sql string to file
94
+ // *
95
+ // * @param sql converted sql from parser
96
+ // * @param fileName output file name, default is "output.txt"
97
+ // */
98
+ // private void saveFile(String sql, String fileName) {
99
+ // try {
100
+ // FileOutputStream fos = new FileOutputStream(fileName);
101
+ // fos.write(sql.getBytes());
102
+ // } catch (Exception e) {
103
+ // e.printStackTrace();
104
+ // }
105
+ // }
127
106
}
0 commit comments