Amala Amala
Amala Amala

Reputation: 335

Convert Java objects to JSON strings using 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?

Upvotes: 25

Views: 85840

Answers (2)

nortontgueno
nortontgueno

Reputation: 2821

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

Upvotes: 4

GhostCat
GhostCat

Reputation: 140633

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.

Upvotes: 50

Related Questions