@@ -52,7 +52,7 @@ public List<Object> parseList(String json) {
52
52
53
53
private List <Object > parseListInternal (int nesting , String json ) {
54
54
List <Object > list = new ArrayList <>();
55
- json = trimLeadingCharacter ( trimTrailingCharacter ( json , ']' ) , '[ ' ).trim ();
55
+ json = trimEdges ( json , '[' , '] ' ).trim ();
56
56
for (String value : tokenize (json )) {
57
57
list .add (parseInternal (nesting + 1 , value ));
58
58
}
@@ -70,7 +70,7 @@ private Object parseInternal(int nesting, String json) {
70
70
return parseMapInternal (nesting + 1 , json );
71
71
}
72
72
if (json .startsWith ("\" " )) {
73
- return trimTrailingCharacter ( trimLeadingCharacter ( json , '"' ) , '"' );
73
+ return trimEdges ( json , '"' , '"' );
74
74
}
75
75
try {
76
76
return Long .valueOf (json );
@@ -89,12 +89,12 @@ private Object parseInternal(int nesting, String json) {
89
89
90
90
private Map <String , Object > parseMapInternal (int nesting , String json ) {
91
91
Map <String , Object > map = new LinkedHashMap <>();
92
- json = trimLeadingCharacter ( trimTrailingCharacter ( json , '}' ) , '{ ' ).trim ();
92
+ json = trimEdges ( json , '{' , '} ' ).trim ();
93
93
for (String pair : tokenize (json )) {
94
94
String [] values = StringUtils .trimArrayElements (StringUtils .split (pair , ":" ));
95
95
Assert .state (values [0 ].startsWith ("\" " ) && values [0 ].endsWith ("\" " ),
96
96
"Expecting double-quotes around field names" );
97
- String key = trimLeadingCharacter ( trimTrailingCharacter ( values [0 ], '"' ) , '"' );
97
+ String key = trimEdges ( values [0 ], '"' , '"' );
98
98
Object value = parseInternal (nesting , values [1 ]);
99
99
map .put (key , value );
100
100
}
@@ -115,6 +115,10 @@ private static String trimLeadingCharacter(String string, char c) {
115
115
return string ;
116
116
}
117
117
118
+ private static String trimEdges (String string , char leadingChar , char trailingChar ) {
119
+ return trimTrailingCharacter (trimLeadingCharacter (string , leadingChar ), trailingChar );
120
+ }
121
+
118
122
private List <String > tokenize (String json ) {
119
123
List <String > list = new ArrayList <>();
120
124
int index = 0 ;
0 commit comments