@@ -194,35 +194,42 @@ private Map<String, Object> toJson() {
194
194
195
195
private static Object deserializeValue (Object value , Type type ) {
196
196
197
- if (Type .ARRAY .equals (type ) || Type .SET .equals (type )) {
198
- try (StringReader reader = new StringReader (JSON .toJson (value ));
199
- JsonInput input = JSON .newInput (reader )) {
200
- value = input .read (new TypeToken <List <RemoteValue >>() {}.getType ());
201
- }
202
- } else if (Type .MAP .equals (type ) || Type .OBJECT .equals (type )) {
203
- List <List <Object >> result = (List <List <Object >>) value ;
204
- Map <Object , RemoteValue > map = new HashMap <>();
205
-
206
- for (List <Object > list : result ) {
207
- Object key = list .get (0 );
208
- if (!(key instanceof String )) {
209
- try (StringReader reader = new StringReader (JSON .toJson (key ));
210
- JsonInput keyInput = JSON .newInput (reader )) {
211
- key = keyInput .read (RemoteValue .class );
197
+ switch (type ) {
198
+ case ARRAY :
199
+ case SET :
200
+ try (StringReader reader = new StringReader (JSON .toJson (value ));
201
+ JsonInput input = JSON .newInput (reader )) {
202
+ value = input .read (new TypeToken <List <RemoteValue >>() {}.getType ());
203
+ }
204
+ break ;
205
+
206
+ case MAP :
207
+ case OBJECT :
208
+ List <List <Object >> result = (List <List <Object >>) value ;
209
+ Map <Object , RemoteValue > map = new HashMap <>();
210
+
211
+ for (List <Object > list : result ) {
212
+ Object key = list .get (0 );
213
+ if (!(key instanceof String )) {
214
+ try (StringReader reader = new StringReader (JSON .toJson (key ));
215
+ JsonInput keyInput = JSON .newInput (reader )) {
216
+ key = keyInput .read (RemoteValue .class );
217
+ }
218
+ }
219
+ try (StringReader reader = new StringReader (JSON .toJson (list .get (1 )));
220
+ JsonInput valueInput = JSON .newInput (reader )) {
221
+ RemoteValue value1 = valueInput .read (RemoteValue .class );
222
+ map .put (key , value1 );
212
223
}
213
224
}
214
- try (StringReader reader = new StringReader (JSON .toJson (list .get (1 )));
215
- JsonInput valueInput = JSON .newInput (reader )) {
216
- RemoteValue value1 = valueInput .read (RemoteValue .class );
217
- map .put (key , value1 );
225
+ value = map ;
226
+ break ;
227
+
228
+ case REGULAR_EXPRESSION :
229
+ try (StringReader reader = new StringReader (JSON .toJson (value ));
230
+ JsonInput input = JSON .newInput (reader )) {
231
+ value = input .read (RegExpValue .class );
218
232
}
219
- }
220
- value = map ;
221
- } else if (Type .REGULAR_EXPRESSION .equals (type )) {
222
- try (StringReader reader = new StringReader (JSON .toJson (value ));
223
- JsonInput input = JSON .newInput (reader )) {
224
- value = input .read (RegExpValue .class );
225
- }
226
233
}
227
234
228
235
return value ;
0 commit comments