Package com.google.gson
Class JsonParser
java.lang.Object
com.google.gson.JsonParser
A parser to parse JSON into a parse tree of
JsonElements.
The JSON data is parsed in lenient mode.
Here's an example of parsing from a string:
String json = "{\"key\": \"value\"}";
JsonElement jsonElement = JsonParser.parseString(json);
JsonObject jsonObject = jsonElement.getAsJsonObject();
It can also parse from a reader:
try (Reader reader = new FileReader("my-data.json", StandardCharsets.UTF_8)) {
JsonElement jsonElement = JsonParser.parseReader(reader);
JsonObject jsonObject = jsonElement.getAsJsonObject();
}
If you want to parse from a JsonReader for more customized parsing requirements, the
following example demonstrates how to achieve it:
String json = "{\"skipObj\": {\"skipKey\": \"skipValue\"}, \"obj\": {\"key\": \"value\"}}";
try (JsonReader jsonReader = new JsonReader(new StringReader(json))) {
jsonReader.beginObject();
while (jsonReader.hasNext()) {
String fieldName = jsonReader.nextName();
if (fieldName.equals("skipObj")) {
jsonReader.skipValue();
} else {
JsonElement jsonElement = JsonParser.parseReader(jsonReader);
JsonObject jsonObject = jsonElement.getAsJsonObject();
}
}
jsonReader.endObject();
}
- Since:
- 1.3
-
Constructor Summary
ConstructorsConstructorDescriptionDeprecated.No need to instantiate this class, use the static methods instead. -
Method Summary
Modifier and TypeMethodDescriptionparse(JsonReader json) Deprecated.Deprecated.Deprecated.static JsonElementparseReader(JsonReader reader) Returns the next value from the JSON stream as a parse tree.static JsonElementparseReader(Reader reader) Parses the complete JSON string provided by the reader into a parse tree.static JsonElementparseString(String json) Parses the specified JSON string into a parse tree.
-
Constructor Details
-
JsonParser
Deprecated.No need to instantiate this class, use the static methods instead.
-
-
Method Details
-
parseString
Parses the specified JSON string into a parse tree. An exception is thrown if the JSON string has multiple top-level JSON elements, or if there is trailing data.The JSON string is parsed in lenient mode.
- Parameters:
json- JSON text- Returns:
- a parse tree of
JsonElements corresponding to the specified JSON - Throws:
JsonParseException- if the specified text is not valid JSONJsonSyntaxException- Since:
- 2.8.6
-
parseReader
Parses the complete JSON string provided by the reader into a parse tree. An exception is thrown if the JSON string has multiple top-level JSON elements, or if there is trailing data.The JSON data is parsed in lenient mode.
- Parameters:
reader- JSON text- Returns:
- a parse tree of
JsonElements corresponding to the specified JSON - Throws:
JsonParseException- if there is an IOException or if the specified text is not valid JSONJsonIOExceptionJsonSyntaxException- Since:
- 2.8.6
-
parseReader
public static JsonElement parseReader(JsonReader reader) throws JsonIOException, JsonSyntaxException Returns the next value from the JSON stream as a parse tree. Unlike the otherparsemethods, no exception is thrown if the JSON data has multiple top-level JSON elements, or if there is trailing data.If the strictness of the reader is
Strictness.STRICT, that strictness will be used for parsing. Otherwise the strictness will be temporarily changed toStrictness.LENIENTand will be restored once this method returns.- Throws:
JsonParseException- if there is an IOException or if the specified text is not valid JSONJsonIOExceptionJsonSyntaxException- Since:
- 2.8.6
-
parse
@Deprecated @InlineMe(replacement="JsonParser.parseString(json)", imports="com.google.gson.JsonParser") public JsonElement parse(String json) throws JsonSyntaxException Deprecated.- Throws:
JsonSyntaxException
-
parse
@Deprecated @InlineMe(replacement="JsonParser.parseReader(json)", imports="com.google.gson.JsonParser") public JsonElement parse(Reader json) throws JsonIOException, JsonSyntaxException Deprecated.- Throws:
JsonIOExceptionJsonSyntaxException
-
parse
@Deprecated @InlineMe(replacement="JsonParser.parseReader(json)", imports="com.google.gson.JsonParser") public JsonElement parse(JsonReader json) throws JsonIOException, JsonSyntaxException Deprecated.- Throws:
JsonIOExceptionJsonSyntaxException
-