mirror of https://github.com/grpc/grpc-java.git
core: Remove redundancy in JSON parser
This commit is contained in:
parent
8b9d179798
commit
19cd32fb66
|
|
@ -78,28 +78,8 @@ final class JsonParser {
|
||||||
Map<String, Object> obj = new LinkedHashMap<String, Object>();
|
Map<String, Object> obj = new LinkedHashMap<String, Object>();
|
||||||
while (jr.hasNext()) {
|
while (jr.hasNext()) {
|
||||||
String name = jr.nextName();
|
String name = jr.nextName();
|
||||||
switch (jr.peek()) {
|
Object value = parseRecursive(jr);
|
||||||
case BEGIN_ARRAY:
|
obj.put(name, value);
|
||||||
obj.put(name, parseJsonArray(jr));
|
|
||||||
break;
|
|
||||||
case BEGIN_OBJECT:
|
|
||||||
obj.put(name, parseJsonObject(jr));
|
|
||||||
break;
|
|
||||||
case STRING:
|
|
||||||
obj.put(name, jr.nextString());
|
|
||||||
break;
|
|
||||||
case NUMBER:
|
|
||||||
obj.put(name, jr.nextDouble());
|
|
||||||
break;
|
|
||||||
case BOOLEAN:
|
|
||||||
obj.put(name, jr.nextBoolean());
|
|
||||||
break;
|
|
||||||
case NULL:
|
|
||||||
obj.put(name, parseJsonNull(jr));
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
throw new IllegalStateException("Bad token: " + jr.getPath());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
checkState(jr.peek() == JsonToken.END_OBJECT, "Bad token: " + jr.getPath());
|
checkState(jr.peek() == JsonToken.END_OBJECT, "Bad token: " + jr.getPath());
|
||||||
jr.endObject();
|
jr.endObject();
|
||||||
|
|
@ -110,28 +90,8 @@ final class JsonParser {
|
||||||
jr.beginArray();
|
jr.beginArray();
|
||||||
List<Object> array = new ArrayList<Object>();
|
List<Object> array = new ArrayList<Object>();
|
||||||
while (jr.hasNext()) {
|
while (jr.hasNext()) {
|
||||||
switch (jr.peek()) {
|
Object value = parseRecursive(jr);
|
||||||
case BEGIN_ARRAY:
|
array.add(value);
|
||||||
array.add(parseJsonArray(jr));
|
|
||||||
break;
|
|
||||||
case BEGIN_OBJECT:
|
|
||||||
array.add(parseJsonObject(jr));
|
|
||||||
break;
|
|
||||||
case STRING:
|
|
||||||
array.add(jr.nextString());
|
|
||||||
break;
|
|
||||||
case NUMBER:
|
|
||||||
array.add(jr.nextDouble());
|
|
||||||
break;
|
|
||||||
case BOOLEAN:
|
|
||||||
array.add(jr.nextBoolean());
|
|
||||||
break;
|
|
||||||
case NULL:
|
|
||||||
array.add(parseJsonNull(jr));
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
throw new IllegalStateException("Bad token: " + jr.getPath());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
checkState(jr.peek() == JsonToken.END_ARRAY, "Bad token: " + jr.getPath());
|
checkState(jr.peek() == JsonToken.END_ARRAY, "Bad token: " + jr.getPath());
|
||||||
jr.endArray();
|
jr.endArray();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue