当前位置: 首页 > 编程笔记 >

如何使用GSON库将Java对象转换为JSON?

谢鸿羲
2023-03-14
本文向大家介绍如何使用GSON库将Java对象转换为JSON?,包括了如何使用GSON库将Java对象转换为JSON?的使用技巧和注意事项,需要的朋友参考一下

JSON或JavaScript Object Notation是一种轻量级的基于文本的开放标准,旨在用于人类可读的数据交换。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类。

  • toJson()通过传递上面创建的POJO对象来调用该方法。

  • 检索并打印获得的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);
      //创建Gson对象
      Gson gSon = new Gson();
      String jsonString = gSon.toJson(std);
      System.out.println(jsonString);
   }
}

输出结果

{"id":1,"name":"Krishna","age":30,"phone":9848022338}
 类似资料:
  • 问题内容: 假设我有json字串 现在我有一个班级用户 现在如何将上述json字符串转换为用户类对象 问题答案: 试试这个:

  • 问题内容: 我有一个列表,我需要使用GSON将其转换为JSON对象。我的JSON对象中包含JSON数组。 以下是我的代码,其中我需要将列表转换为其中具有JSON数组的JSON对象- 到目前为止,列表中只有两项-所以我需要这样的JSON对象- 做这个的最好方式是什么? 问题答案: 如果在您的方法中为,则应进行序列化。 这将为您提供所需的JSON输出。

  • 我想将以下字符串作为json发布到服务器。 {“FirstName”:“John”,“LastName”:“Smith”},{“FirstName”:“John”,“LastName”:“Smith”} 但是如果我使用下面的代码,我会得到json对象的数组列表。 输出: [{"FirstName":"John","LastName":"Smith" }, { "FirstName":"John",

  • 我使用的是名为Gson的Google JSON API,在设置Java类以便使用方法时遇到了困难。 从JSON数据中,我知道有一个包含所有数据的对象数组。让我感到困惑的是外部标记。我知道我必须构造一个表示对象的类,但是我是否也必须创建一个表示的类,因为它包含? 目前,我有一个名为的文件,其中包含以下内容: 我只包括了我计划使用的变量。上面的JSON数据包含在一个名为的字符串中,这就是我在main方

  • 本文向大家介绍如何使用Jackson库将Java对象转换为JSON?,包括了如何使用Jackson库将Java对象转换为JSON?的使用技巧和注意事项,需要的朋友参考一下 JSON或JavaScript Object Notation是一种轻量级的基于文本的开放标准,旨在用于人类可读的数据交换。JSON使用的约定是程序员已知的,包括C,C ++,Java,Python,Perl等。 有几种Java

  • 问题内容: 我正在尝试使用GSON将JSON对象转换为POJO。 JSON字串 与GSON一起使用的AutomationProjectsList类 自动化项目POJO 我正在使用的代码 JSONArray jsonArray =新的JSONArray(response.getEntity(String.class)); 但是它给出了一个例外: 为什么会收到IndexOutOfBoundsExcep