GSON - Serialize and Deserialize Primitives Types

In this quick article, we will discuss how to use GSON to serialize or deserialize any primitive type into JSON representation.

GSON Maven Dependency

To use Gson with Maven2/3, we can use the Gson version available in Maven Central by adding the following dependency:
<dependencies>
    <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
      <version>2.8.5</version>
      <scope>compile</scope>
    </dependency>
</dependencies>

Serialize Primitives Types

We can serialize any primitive type into their JSON representation.
// Serialization
Gson gson = new Gson();

// Serialization of integer
System.out.println(gson.toJson(1));

// Serialization of String
System.out.println(gson.toJson("abcd"));

// Serialization of Long
System.out.println(gson.toJson(new Long(10)));

// Serialization of int array
int[] values = { 1 };
System.out.println(gson.toJson(values));

// Serialization of Double
System.out.println(gson.toJson(new Double(10.0d)));

// Serialization of Character
System.out.println(gson.toJson(new Character('A')));

Deserialize Primitives Types

We can deserialize the JSON String into their primitive type.
// Deserialization of int
System.out.println(gson.fromJson("1", int.class));

// Deserialization of Integer
System.out.println(gson.fromJson("1", Integer.class));

// Deserialization of Long
System.out.println(gson.fromJson("1", Long.class));

// Deserialization of Boolean
System.out.println(gson.fromJson("false", Boolean.class));

// Deserialization of String
System.out.println(gson.fromJson("\"abc\"", String.class));

// Deserialization of String[]
System.out.println(gson.fromJson("[\"abc\"]", String[].class));

// Deserialization of Character
System.out.println(gson.fromJson("A", Character.class));

Complete Java program to Serialize and Deserialize Primitives Types using GSON

The complete program for your reference:
package net.javaguides.gson;

import com.google.gson.Gson;

public class GSONPrimitiveExamples {
    public static void main(String[] args) {
        // Serialization
        Gson gson = new Gson();

        // Serialization of integer
        System.out.println(gson.toJson(1));

        // Serialization of String
        System.out.println(gson.toJson("abcd"));

        // Serialization of Long
        System.out.println(gson.toJson(new Long(10)));

        // Serialization of int array
        int[] values = {
            1
        };
        System.out.println(gson.toJson(values));

        // Serialization of Double
        System.out.println(gson.toJson(new Double(10.0 d)));

        // Serialization of Character
        System.out.println(gson.toJson(new Character('A')));

        // Deserialization of int
        System.out.println(gson.fromJson("1", int.class));

        // Deserialization of Integer
        System.out.println(gson.fromJson("1", Integer.class));

        // Deserialization of Long
        System.out.println(gson.fromJson("1", Long.class));

        // Deserialization of Boolean
        System.out.println(gson.fromJson("false", Boolean.class));

        // Deserialization of String
        System.out.println(gson.fromJson("\"abc\"", String.class));

        // Deserialization of String[]
        System.out.println(gson.fromJson("[\"abc\"]", String[].class));

        // Deserialization of Character
        System.out.println(gson.fromJson("A", Character.class));
    }
}
Output:
1
"abcd"
10
[1]
10.0
"A"
1
1
1
false
abc
[Ljava.lang.String;@2b71fc7e
A

Reference

Comments