使用gson将Java对象转换为JSON字符串

22

我在这里找到了一些示例,说明如何将json转换为Java对象,但是现在我需要将Java对象转换为GSON

我有一个Java对象,现在我想将其转换为Gson。如何实现,请参考我的代码。

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

我需要将员工对象转换为Gson对象

这是我的员工类

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

我该怎么做呢?

2个回答

43
首先,没有所谓的“gson”对象,只有特定格式的JSON数据和字符串。Gson工具可以将JSON字符串转换为Java对象(JSON解析),也可以将Java对象转换为JSON字符串。基于此,您的请求可归结为:
Gson gson = new Gson();
String json = gson.toJson(someInstanceOfStaff);
除此之外,您应该获取一份好的教程并学习这个主题,比如这个这里

我的对象类是否需要任何注释? - Amala Amala
1
@AmalaAmala,没有通用的答案可以告诉你需要做什么。你必须广泛地研究这个主题。你有需求,也知道自己想要实现什么。现在你必须学习这个工具集“足够好”,以便让自己能够做到这一点。除了你自己,没有人知道你想要实现什么,所以唯一的答案是:理解这个工具,并将其与你的愿景相结合。也许,当你有非常具体的问题时,可以回来这里问。 - GhostCat

3

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

对于列表或参数化类型:

 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文档更多示例链接


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接