📘 Premium Read: Access my best content on Medium member-only articles — deep dives into Java, Spring Boot, Microservices, backend architecture, interview preparation, career advice, and industry-standard best practices.
✅ Some premium posts are free to read — no account needed. Follow me on Medium to stay updated and support my writing.
🎓 Top 10 Udemy Courses (Huge Discount): Explore My Udemy Courses — Learn through real-time, project-based development.
▶️ Subscribe to My YouTube Channel (172K+ subscribers): Java Guides on YouTube
GSON Maven Dependency
<dependencies>
<!-- Gson: Java to Json conversion -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
<scope>compile</scope>
</dependency>
</dependencies>
class Box < T > {
private T t;
public void set(T t) {
this.t = t;
}
public T get() {
return t;
}
}
package net.javaguides.gson;
public class User {
private int id;
private String firstName;
private String lastName;
private int age;
private String gender;
private String password;
public int getId() {
return id;
}
public void setId(int i) {
this.id = i;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User [id=" + id + ", firstName=" + firstName + ", lastName=" + lastName + ", age=" + age + ", gender=" +
gender + "]";
}
}
Serializing and Deserializing Generic Types Example
package net.javaguides.gson;
import java.lang.reflect.Type;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
public class GSONGenericsExample {
public static void main(String[] args) {
Gson gson = new GsonBuilder().setPrettyPrinting().create();
Box < User > type2 = new Box < > ();
User user = new User();
user.setId(100);
user.setFirstName("Ramesh");
user.setLastName("Fadatare");
user.setGender("Male");
user.setAge(28);
type2.set(user);
// Serialization of generic User type to json
Type fooType2 = new TypeToken < Box < User >> () {}.getType();
String userJson = gson.toJson(type2, fooType2);
System.out.println(userJson);
// De-serialization of generic User type to json
Box < User > box = gson.fromJson(userJson, fooType2);
System.out.println(box.get().toString());
}
}
class Box < T > {
private T t;
public void set(T t) {
this.t = t;
}
public T get() {
return t;
}
}
{
"t": {
"id": 100,
"firstName": "Ramesh",
"lastName": "Fadatare",
"age": 28,
"gender": "Male"
}
}
User [id=100, firstName=Ramesh, lastName=Fadatare, age=28, gender=Male]
Comments
Post a Comment
Leave Comment