Class JsonObjectParser

java.lang.Object
com.google.api.client.json.JsonObjectParser
All Implemented Interfaces:
ObjectParser

public class JsonObjectParser extends Object implements ObjectParser
Parses JSON data into an data class of key/value pairs.

Implementation is thread-safe.

Sample usage:

 
 static void setParser(HttpRequest request) {
 request.setParser(new JsonObjectParser(new JacksonFactory()));
 }
 
 
Since:
1.10
  • Field Details

    • jsonFactory

      private final JsonFactory jsonFactory
      JSON factory.
    • wrapperKeys

      private final Set<String> wrapperKeys
      Wrapper keys for the JSON content or empty for none.
  • Constructor Details

    • JsonObjectParser

      public JsonObjectParser(JsonFactory jsonFactory)
      Parameters:
      jsonFactory - JSON factory
    • JsonObjectParser

      protected JsonObjectParser(JsonObjectParser.Builder builder)
      Parameters:
      builder - builder
      Since:
      1.14
  • Method Details

    • parseAndClose

      public <T> T parseAndClose(InputStream in, Charset charset, Class<T> dataClass) throws IOException
      Description copied from interface: ObjectParser
      Parses the given input stream into a new instance of the the given data class of key/value pairs and closes the input stream.
      Specified by:
      parseAndClose in interface ObjectParser
      Parameters:
      in - input stream which contains the data to parse
      charset - charset which should be used to decode the input stream or null if unknown
      dataClass - class into which the data is parsed
      Throws:
      IOException
    • parseAndClose

      public Object parseAndClose(InputStream in, Charset charset, Type dataType) throws IOException
      Description copied from interface: ObjectParser
      Parses the given input stream into a new instance of the the given data type of key/value pairs and closes the input stream.
      Specified by:
      parseAndClose in interface ObjectParser
      Parameters:
      in - input stream which contains the data to parse
      charset - charset which should be used to decode the input stream or null if unknown
      dataType - type into which the data is parsed
      Throws:
      IOException
    • parseAndClose

      public <T> T parseAndClose(Reader reader, Class<T> dataClass) throws IOException
      Description copied from interface: ObjectParser
      Parses the given reader into a new instance of the the given data class of key/value pairs and closes the reader.
      Specified by:
      parseAndClose in interface ObjectParser
      Parameters:
      reader - reader which contains the text data to parse
      dataClass - class into which the data is parsed
      Throws:
      IOException
    • parseAndClose

      public Object parseAndClose(Reader reader, Type dataType) throws IOException
      Description copied from interface: ObjectParser
      Parses the given reader into a new instance of the the given data type of key/value pairs and closes the reader.
      Specified by:
      parseAndClose in interface ObjectParser
      Parameters:
      reader - reader which contains the text data to parse
      dataType - type into which the data is parsed
      Throws:
      IOException
    • getJsonFactory

      public final JsonFactory getJsonFactory()
      Returns the JSON factory.
    • getWrapperKeys

      public Set<String> getWrapperKeys()
      Returns the unmodifiable set of wrapper keys for the JSON content.
      Since:
      1.14
    • initializeParser

      private void initializeParser(JsonParser parser) throws IOException
      Initialize the parser to skip to wrapped keys (if any).
      Parameters:
      parser - JSON parser
      Throws:
      IOException