27

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?

0

2 Answers 2

53

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.

Sign up to request clarification or add additional context in comments.

2 Comments

should I need any annotations in my object class ?
@AmalaAmala There are NO universal answers that tell you what you need to do. You must extensively study this topic. You have requirements, and an idea what you intend to achieve. Now you have to learn this toolset "good enough" to enable yourself doing that. Nobody else but you knows what you want to achieve, so the only answer is: understand the tool, and then align that with your vision. And maybe, when you have really specific questions, come back here asking.
4

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.