Technology6/9/2020

GSON - Simple Serialization + Deserialization

Sponsored Intelligence Dispatch




GSON library, which is provided by Google and makes the process of turning Java objects into their 
JSON representation (serialization) and JSONs into Java objects (deserialization) very easy.


we are going to create a simple Java class, create an object of it, turn it into a JSON and then turn that JSON back into the java object. We will also learn how to use the @SerializedName annotation to use different keys and variable names.


Links and dependencies:-  github.com/google/gson


In Employee.java class file add these lines of codes:-

  Employee.java

import com.google.gson.annotations.SerializedName;
public class Employee {
@SerializedName("first_name")
private String mFirstName;
@SerializedName("age")
private int mAge;
@SerializedName("mail")
private String mMail;
public Employee(String firstName, int age, String mail) {
mFirstName = firstName;
mAge = age;
mMail = mail;
}
}

In MainActivity.java class file add these lines codes:-

MainActivity.java

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.google.gson.Gson;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Gson gson = new Gson();
/*
Employee employee = new Employee("John", 30, "john@gmail.com");
String json = gson.toJson(employee);
*/
String json = "{\"first_name\":\"John\",\"age\":30,\"mail\":\"john@gmail.com\"}";
Employee employee = gson.fromJson(json, Employee.class);
}
} In employee.json add these lines of codes:-
{
"age": 30,
"first_name": "John",
"mail": "john@gmail.com"
}


Now after adding these codes Run the project and we will get desired output.


Deep Structural Diagnostics.

Mastering JSON is only the first step. Use our industrial-grade workbench to format, validate, and synthesize models for your production APIs.

Sponsored Infrastructure

Industrial Analysis Active