如何使用GSON库将Java对象转换为JSON?
JSON或JavaScript对象表示法是一种轻量级的基于文本的开放标准,旨在用于人类可读的数据交换。JSON使用的约定为程序员所熟知,包括C、C++、Java、Python、Perl等。
有几个Java库可用于处理JSON对象。Google Gson是一个简单的基于Java的库,用于将Java对象序列化为JSON,反之亦然。它是由Google开发的一个开源库。
将Java对象转换为JSON
Google的Gson库提供了一个与库名称相同的类(Gson),它是该库的主要类。
此类提供了一个名为**toJson()**的方法,此方法有几个变体,其中一个变体接受一个Java对象并将其转换为JSON对象并返回它。
因此,要使用GSON库将Java对象转换为JSON字符串,请执行以下操作:
将以下maven依赖项添加到您的pom.xml文件中。
<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.5</version> </dependency>
创建一个具有私有变量和setter/getter方法的javabean/POJO对象。
创建另一个类(确保POJO类可供其使用)。
在其中,创建一个POJO类的对象,使用setter方法为其设置所需的值。
实例化Gson类。
通过传递上面创建的POJO对象来调用toJson()方法。
检索并打印获得的JSON。
示例
import com.google.gson.Gson; class Student { private int id; private String name; private int age; private long phone; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public long getPhone() { return phone; } public void setPhone(long phone) { this.phone = phone; } } public class ObjectTOString { public static void main(String args[]) { Student std = new Student(); std.setId(001); std.setName("Krishna"); std.setAge(30); std.setPhone(9848022338L); //Creating the Gson object Gson gSon = new Gson(); String jsonString = gSon.toJson(std); System.out.println(jsonString); } }
输出
{"id":1,"name":"Krishna","age":30,"phone":9848022338}
广告