Transférer les fichiers vers 'src/JsonInspector'

This commit is contained in:
Romain BESSON 2023-01-15 18:26:16 +01:00
parent 9fe24c2f98
commit 630f3565c1
2 changed files with 24 additions and 27 deletions

View File

@ -6,13 +6,8 @@ public class Tree {
private Node firstNode;
public Tree(String file) {
try {
public Tree(String file) throws JsonSyntaxException {
firstNode = parseElement(file);
} catch (JsonSyntaxException e) {
e.printStackTrace();
//System.err.println("Syntax error while parsing JSON file");
}
}
@ -22,13 +17,19 @@ public class Tree {
if (keyValue.length == 2) {
String key = keyValue[0], value = keyValue[1];
if (value.charAt(0) == '[' && value.charAt(value.length()-1) == ']') {
if (0 < value.length()) {
if (value.charAt(0) == '[' && value.charAt(value.length() - 1) == ']') {
return parseArray(key, value);
} else if (value.charAt(0) == '{' && value.charAt(value.length()-1) == '}') {
} else if (value.charAt(0) == '{' && value.charAt(value.length() - 1) == '}') {
return parseObject(key, value);
} else {
return parsePair(key, value);
}
} else {
return null;
}
} else if (keyValue[0].equals("")) {
@ -45,13 +46,13 @@ public class Tree {
private Node parseArray(String name, String rawValues) throws JsonSyntaxException {
Node array = new Node(name, Type.ARRAY);
Node array = new Node(cleanOpeningExpression(name), Type.ARRAY);
ArrayList<String> elements = splitList(rawValues);
for (String value : elements) {
if (0 < value.length()) {
if (value.charAt(0) == '{') {
if (value.charAt(value.length()-1) == '}') {
if (value.charAt(value.length() - 1) == '}') {
array.add(parseElement(value));
} else {
throw new JsonSyntaxException();
@ -61,13 +62,14 @@ public class Tree {
array.add(value);
}
}
}
return array;
}
private Node parseObject(String name, String rawValues) throws JsonSyntaxException {
Node object = new Node(name, Type.OBJECT);
Node object = new Node(cleanOpeningExpression(name), Type.OBJECT);
ArrayList<String> elements = splitList(rawValues);
for (String value : elements) {
@ -98,7 +100,7 @@ public class Tree {
}
private String cleanOpeningExpression(String strToClean) {
public static String cleanOpeningExpression(String strToClean) {
StringBuilder cleanedString = new StringBuilder(strToClean);
cleanedString.deleteCharAt(0);
cleanedString.deleteCharAt(cleanedString.length()-1);

View File

@ -41,9 +41,4 @@ public class Value <T> {
public boolean isNumber() {
return value.getClass().equals(Integer.class) || value.getClass().equals(Double.class);
}
public boolean isBoolean() {
return value.getClass().equals(Boolean.class);
}
}