|
|
|
@ -125,9 +125,16 @@ public class BasicJsonParser implements JsonParser { |
|
|
|
int inObject = 0; |
|
|
|
int inObject = 0; |
|
|
|
int inList = 0; |
|
|
|
int inList = 0; |
|
|
|
boolean inValue = false; |
|
|
|
boolean inValue = false; |
|
|
|
|
|
|
|
boolean inEscape = false; |
|
|
|
StringBuilder build = new StringBuilder(); |
|
|
|
StringBuilder build = new StringBuilder(); |
|
|
|
while (index < json.length()) { |
|
|
|
while (index < json.length()) { |
|
|
|
char current = json.charAt(index); |
|
|
|
char current = json.charAt(index); |
|
|
|
|
|
|
|
if (inEscape) { |
|
|
|
|
|
|
|
build.append(current); |
|
|
|
|
|
|
|
index++; |
|
|
|
|
|
|
|
inEscape = false; |
|
|
|
|
|
|
|
continue; |
|
|
|
|
|
|
|
} |
|
|
|
if (current == '{') { |
|
|
|
if (current == '{') { |
|
|
|
inObject++; |
|
|
|
inObject++; |
|
|
|
} |
|
|
|
} |
|
|
|
@ -147,6 +154,9 @@ public class BasicJsonParser implements JsonParser { |
|
|
|
list.add(build.toString()); |
|
|
|
list.add(build.toString()); |
|
|
|
build.setLength(0); |
|
|
|
build.setLength(0); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
else if (current == '\\') { |
|
|
|
|
|
|
|
inEscape = true; |
|
|
|
|
|
|
|
} |
|
|
|
else { |
|
|
|
else { |
|
|
|
build.append(current); |
|
|
|
build.append(current); |
|
|
|
} |
|
|
|
} |
|
|
|
|