Class JsonParser


  • public final class JsonParser
    extends Object
    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
    Author:
    Inderjeet Singh, Joel Leitch