Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Convert Java objects to JSON strings using gson

Tags:

java

gson

I've found some example here which says how to convert json to java object but here I need to convert Java object to GSON

I have a Java object and now I want to convert the Java object to Gson. How can I achieve this, please refer my code.

Staff obj = new Staff();
Gson gson = new Gson();

I need to convert staff object to gson object

This is my staff class

public class Staff {    
    private String name;
    private int age;
    private String position;
    private BigDecimal salary;
    private List<String> skills;

How can I go about this?

like image 321
Amala Amala Avatar asked Feb 04 '19 10:02

Amala Amala


2 Answers

First of all: there are no "gson" objects. There is just JSON data, strings in a specific format, and the Gson tooling allows you to turn JSON strings into java objects (json parsing), and turning java objects into JSON strings. Coming from there, your request boils down to:

Gson gson = new Gson();
String json = gson.toJson(someInstanceOfStaff);

Beyond that, you should acquire a good tutorial and study this topic, like this one here.

like image 144
GhostCat Avatar answered Oct 13 '22 00:10

GhostCat


Examples from the API:

 Gson gson = new Gson(); // Or use new GsonBuilder().create();
 MyType target = new MyType();
 String json = gson.toJson(target); // serializes target to Json
 MyType target2 = gson.fromJson(json, MyType.class); // deserializes json into target2

For lists or parameterized types:

 Type listType = new TypeToken<List<String>>() {}.getType();
 List<String> target = new LinkedList<String>();
 target.add("blah");

 Gson gson = new Gson();
 String json = gson.toJson(target, listType);
 List<String> target2 = gson.fromJson(json, listType);

API docs and link for more examples

like image 2
nortontgueno Avatar answered Oct 13 '22 01:10

nortontgueno