Transférer les fichiers vers 'src/JsonInspector'
This commit is contained in:
parent
9fe24c2f98
commit
630f3565c1
@ -6,13 +6,8 @@ public class Tree {
|
|||||||
private Node firstNode;
|
private Node firstNode;
|
||||||
|
|
||||||
|
|
||||||
public Tree(String file) {
|
public Tree(String file) throws JsonSyntaxException {
|
||||||
try {
|
firstNode = parseElement(file);
|
||||||
firstNode = parseElement(file);
|
|
||||||
} catch (JsonSyntaxException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
//System.err.println("Syntax error while parsing JSON file");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -22,12 +17,18 @@ public class Tree {
|
|||||||
if (keyValue.length == 2) {
|
if (keyValue.length == 2) {
|
||||||
String key = keyValue[0], value = keyValue[1];
|
String key = keyValue[0], value = keyValue[1];
|
||||||
|
|
||||||
if (value.charAt(0) == '[' && value.charAt(value.length()-1) == ']') {
|
if (0 < value.length()) {
|
||||||
return parseArray(key, value);
|
if (value.charAt(0) == '[' && value.charAt(value.length() - 1) == ']') {
|
||||||
} else if (value.charAt(0) == '{' && value.charAt(value.length()-1) == '}') {
|
return parseArray(key, value);
|
||||||
return parseObject(key, value);
|
|
||||||
|
} else if (value.charAt(0) == '{' && value.charAt(value.length() - 1) == '}') {
|
||||||
|
return parseObject(key, value);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
return parsePair(key, value);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
return parsePair(key, value);
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (keyValue[0].equals("")) {
|
} else if (keyValue[0].equals("")) {
|
||||||
@ -45,20 +46,21 @@ public class Tree {
|
|||||||
|
|
||||||
|
|
||||||
private Node parseArray(String name, String rawValues) throws JsonSyntaxException {
|
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);
|
ArrayList<String> elements = splitList(rawValues);
|
||||||
|
|
||||||
for (String value : elements) {
|
for (String value : elements) {
|
||||||
|
if (0 < value.length()) {
|
||||||
|
if (value.charAt(0) == '{') {
|
||||||
|
if (value.charAt(value.length() - 1) == '}') {
|
||||||
|
array.add(parseElement(value));
|
||||||
|
} else {
|
||||||
|
throw new JsonSyntaxException();
|
||||||
|
}
|
||||||
|
|
||||||
if (value.charAt(0) == '{') {
|
|
||||||
if (value.charAt(value.length()-1) == '}') {
|
|
||||||
array.add(parseElement(value));
|
|
||||||
} else {
|
} else {
|
||||||
throw new JsonSyntaxException();
|
array.add(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
|
||||||
array.add(value);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -67,7 +69,7 @@ public class Tree {
|
|||||||
|
|
||||||
|
|
||||||
private Node parseObject(String name, String rawValues) throws JsonSyntaxException {
|
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);
|
ArrayList<String> elements = splitList(rawValues);
|
||||||
|
|
||||||
for (String value : elements) {
|
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);
|
StringBuilder cleanedString = new StringBuilder(strToClean);
|
||||||
cleanedString.deleteCharAt(0);
|
cleanedString.deleteCharAt(0);
|
||||||
cleanedString.deleteCharAt(cleanedString.length()-1);
|
cleanedString.deleteCharAt(cleanedString.length()-1);
|
||||||
|
@ -41,9 +41,4 @@ public class Value <T> {
|
|||||||
public boolean isNumber() {
|
public boolean isNumber() {
|
||||||
return value.getClass().equals(Integer.class) || value.getClass().equals(Double.class);
|
return value.getClass().equals(Integer.class) || value.getClass().equals(Double.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public boolean isBoolean() {
|
|
||||||
return value.getClass().equals(Boolean.class);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user