# Class GsonFactory (2.1.0)

<button class="button button-with-icon cloud-select-dropdown__button " aria-haspopup="true">Version latest</button>

- [2.1.0 (latest)](https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.gson.GsonFactory)
- [2.0.3](https://docs.cloud.google.com/java/docs/reference/google-http-client/2.0.3/com.google.api.client.json.gson.GsonFactory)
- [1.47.1](https://docs.cloud.google.com/java/docs/reference/google-http-client/1.47.1/com.google.api.client.json.gson.GsonFactory)
- [1.46.3](https://docs.cloud.google.com/java/docs/reference/google-http-client/1.46.3/com.google.api.client.json.gson.GsonFactory)
- [1.45.3](https://docs.cloud.google.com/java/docs/reference/google-http-client/1.45.3/com.google.api.client.json.gson.GsonFactory)
- [1.44.2](https://docs.cloud.google.com/java/docs/reference/google-http-client/1.44.2/com.google.api.client.json.gson.GsonFactory)
- [1.43.2](https://docs.cloud.google.com/java/docs/reference/google-http-client/1.43.2/com.google.api.client.json.gson.GsonFactory)
- [1.42.3](https://docs.cloud.google.com/java/docs/reference/google-http-client/1.42.3/com.google.api.client.json.gson.GsonFactory)
- [1.41.8](https://docs.cloud.google.com/java/docs/reference/google-http-client/1.41.8/com.google.api.client.json.gson.GsonFactory)

    public class GsonFactory extends JsonFactory

Low-level JSON library implementation based on GSON.

Implementation is thread-safe, and sub-classes must be thread-safe. For maximum efficiency,
applications should use a single globally-shared instance of the JSON factory.

## Inheritance

[java.lang.Object](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html) \> [JsonFactory](https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.JsonFactory) \> GsonFactory

## Inherited Members

[JsonFactory.\<T\>fromInputStream(InputStream,Class\<T\>)](https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.JsonFactory#com_google_api_client_json_JsonFactory__T_fromInputStream_java_io_InputStream_java_lang_Class_T__) [JsonFactory.\<T\>fromInputStream(InputStream,Charset,Class\<T\>)](https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.JsonFactory#com_google_api_client_json_JsonFactory__T_fromInputStream_java_io_InputStream_java_nio_charset_Charset_java_lang_Class_T__) [JsonFactory.\<T\>fromReader(Reader,Class\<T\>)](https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.JsonFactory#com_google_api_client_json_JsonFactory__T_fromReader_java_io_Reader_java_lang_Class_T__) [JsonFactory.\<T\>fromString(String,Class\<T\>)](https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.JsonFactory#com_google_api_client_json_JsonFactory__T_fromString_java_lang_String_java_lang_Class_T__) [JsonFactory.createJsonGenerator(OutputStream,Charset)](https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.JsonFactory#com_google_api_client_json_JsonFactory_createJsonGenerator_java_io_OutputStream_java_nio_charset_Charset_) [JsonFactory.createJsonGenerator(Writer)](https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.JsonFactory#com_google_api_client_json_JsonFactory_createJsonGenerator_java_io_Writer_) [JsonFactory.createJsonObjectParser()](https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.JsonFactory#com_google_api_client_json_JsonFactory_createJsonObjectParser__) [JsonFactory.createJsonParser(InputStream)](https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.JsonFactory#com_google_api_client_json_JsonFactory_createJsonParser_java_io_InputStream_) [JsonFactory.createJsonParser(InputStream,Charset)](https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.JsonFactory#com_google_api_client_json_JsonFactory_createJsonParser_java_io_InputStream_java_nio_charset_Charset_) [JsonFactory.createJsonParser(Reader)](https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.JsonFactory#com_google_api_client_json_JsonFactory_createJsonParser_java_io_Reader_) [JsonFactory.createJsonParser(String)](https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.JsonFactory#com_google_api_client_json_JsonFactory_createJsonParser_java_lang_String_) [JsonFactory.toByteArray(Object)](https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.JsonFactory#com_google_api_client_json_JsonFactory_toByteArray_java_lang_Object_) [JsonFactory.toPrettyString(Object)](https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.JsonFactory#com_google_api_client_json_JsonFactory_toPrettyString_java_lang_Object_) [JsonFactory.toString(Object)](https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.JsonFactory#com_google_api_client_json_JsonFactory_toString_java_lang_Object_) [Object.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#clone--) [Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-) [Object.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#finalize--) [Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) [Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--) [Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) [Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) [Object.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--) [Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) [Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) [Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)

## Static Methods

### builder()

    public static GsonFactory.Builder builder()

Returns the builder \*

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.gson.GsonFactory.Builder` |   |

### getDefaultInstance()

    public static GsonFactory getDefaultInstance()

[Beta](https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.util.Beta)   

Returns a global thread-safe instance.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.gson.GsonFactory` |   |

## Constructors

### GsonFactory()

    public GsonFactory()

## Methods

### createJsonGenerator(OutputStream out, Charset enc)

    public JsonGenerator createJsonGenerator(OutputStream out, Charset enc)

Returns a new instance of a low-level JSON serializer for the given output stream and encoding.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `out` | `https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html` |
| `enc` | `https://docs.oracle.com/javase/8/docs/api/java/nio/charset/Charset.html` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.JsonGenerator` |   |

**Overrides** [JsonFactory.createJsonGenerator(OutputStream out, Charset enc)](https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.JsonFactory#com_google_api_client_json_JsonFactory_createJsonGenerator_java_io_OutputStream_java_nio_charset_Charset_)

### createJsonGenerator(Writer writer)

    public JsonGenerator createJsonGenerator(Writer writer)

Returns a new instance of a low-level JSON serializer for the given writer.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `writer` | `https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.JsonGenerator` |   |

**Overrides** [JsonFactory.createJsonGenerator(Writer writer)](https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.JsonFactory#com_google_api_client_json_JsonFactory_createJsonGenerator_java_io_Writer_)

### createJsonParser(InputStream in)

    public JsonParser createJsonParser(InputStream in)

Returns a new instance of a low-level JSON parser for the given input stream. The parser tries
to detect the charset of the input stream by itself.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `in` | `https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.JsonParser` |   |

**Overrides** [JsonFactory.createJsonParser(InputStream in)](https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.JsonFactory#com_google_api_client_json_JsonFactory_createJsonParser_java_io_InputStream_)

### createJsonParser(InputStream in, Charset charset)

    public JsonParser createJsonParser(InputStream in, Charset charset)

Returns a new instance of a low-level JSON parser for the given input stream.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `in` | `https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html` |
| `charset` | `https://docs.oracle.com/javase/8/docs/api/java/nio/charset/Charset.html` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.JsonParser` |   |

**Overrides** [JsonFactory.createJsonParser(InputStream in, Charset charset)](https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.JsonFactory#com_google_api_client_json_JsonFactory_createJsonParser_java_io_InputStream_java_nio_charset_Charset_)

### createJsonParser(Reader reader)

    public JsonParser createJsonParser(Reader reader)

Returns a new instance of a low-level JSON parser for the given reader.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `reader` | `https://docs.oracle.com/javase/8/docs/api/java/io/Reader.html` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.JsonParser` |   |

**Overrides** [JsonFactory.createJsonParser(Reader reader)](https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.JsonFactory#com_google_api_client_json_JsonFactory_createJsonParser_java_io_Reader_)

### createJsonParser(String value)

    public JsonParser createJsonParser(String value)

Returns a new instance of a low-level JSON parser for the given string value.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `value` | `https://docs.oracle.com/javase/8/docs/api/java/lang/String.html` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.JsonParser` |   |

**Overrides** [JsonFactory.createJsonParser(String value)](https://docs.cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.JsonFactory#com_google_api_client_json_JsonFactory_createJsonParser_java_lang_String_)