Package com.google.gson
Class JsonParser
java.lang.Object
com.google.gson.JsonParser
A parser to parse JSON into a parse tree of
JsonElement
s.
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 JsonElement
parseReader
(JsonReader reader) Returns the next value from the JSON stream as a parse tree.static JsonElement
parseReader
(Reader reader) Parses the complete JSON string provided by the reader into a parse tree.static JsonElement
parseString
(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
JsonElement
s 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
JsonElement
s corresponding to the specified JSON - Throws:
JsonParseException
- if there is an IOException or if the specified text is not valid JSONJsonIOException
JsonSyntaxException
- 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 otherparse
methods, 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.LENIENT
and will be restored once this method returns.- Throws:
JsonParseException
- if there is an IOException or if the specified text is not valid JSONJsonIOException
JsonSyntaxException
- Since:
- 2.8.6
-
parse
Deprecated.- Throws:
JsonSyntaxException
-
parse
Deprecated.- Throws:
JsonIOException
JsonSyntaxException
-
parse
Deprecated.- Throws:
JsonIOException
JsonSyntaxException
-