MCPcopy
hub / github.com/google/gson / parseRecursive

Method parseRecursive

src/main/java/com/google/gson/Streams.java:59–94  ·  view source on GitHub ↗
(JsonReader reader)

Source from the content-addressed store, hash-verified

57 }
58
59 private static JsonElement parseRecursive(JsonReader reader) throws IOException {
60 switch (reader.peek()) {
61 case STRING:
62 return new JsonPrimitive(reader.nextString());
63 case NUMBER:
64 String number = reader.nextString();
65 return new JsonPrimitive(JsonPrimitive.stringToNumber(number));
66 case BOOLEAN:
67 return new JsonPrimitive(reader.nextBoolean());
68 case NULL:
69 reader.nextNull();
70 return JsonNull.createJsonNull();
71 case BEGIN_ARRAY:
72 JsonArray array = new JsonArray();
73 reader.beginArray();
74 while (reader.hasNext()) {
75 array.add(parseRecursive(reader));
76 }
77 reader.endArray();
78 return array;
79 case BEGIN_OBJECT:
80 JsonObject object = new JsonObject();
81 reader.beginObject();
82 while (reader.hasNext()) {
83 object.add(reader.nextName(), parseRecursive(reader));
84 }
85 reader.endObject();
86 return object;
87 case END_DOCUMENT:
88 case NAME:
89 case END_OBJECT:
90 case END_ARRAY:
91 default:
92 throw new IllegalArgumentException();
93 }
94 }
95
96 /**
97 * Writes the JSON element to the writer, recursively.

Callers 1

parseMethod · 0.95

Calls 14

stringToNumberMethod · 0.95
createJsonNullMethod · 0.95
addMethod · 0.95
addMethod · 0.95
nextStringMethod · 0.80
nextBooleanMethod · 0.80
nextNullMethod · 0.80
nextNameMethod · 0.80
endArrayMethod · 0.65
endObjectMethod · 0.65
peekMethod · 0.45
beginArrayMethod · 0.45

Tested by

no test coverage detected