定制小程序开发如何将 Java 对象转换为 JSON?

要将 Java 对象或 POJO (普通旧 Java 对象)转换为 JSON,定制小程序开发我们可以使用JSONObject定制小程序开发将对象作为参数的构造函数之一。在下面的示例中,我们将StudentPOJO 转换为 JSON 字符串。Student类必须提供 getter 方法,JSONObject通过调用这些方法创建 JSON 字符串。

在此代码段中,我们执行以下操作:

  • 使用 setter 方法创建Student对象并设置其属性。
  • 创建JSONObject调用object并将Student对象用作其构造函数的参数。
  • JSONObject使用 getter 方法生成 JSON 字符串。
  • 调用object.toString()方法获取 JSON 字符串。
  1. import com.fasterxml.jackson.core.JsonProcessingException;
  2. import com.fasterxml.jackson.databind.ObjectMapper;
  3. import com.google.gson.Gson;
  4. import org.json.JSONObject;
  5. import java.util.Arrays;
  6. public class PojoToJSON {
  7. public static void main(String[] args) throws JsonProcessingException {
  8. Student student = new Student();
  9. student.setId(1L);
  10. student.setName("Alice");
  11. student.setAge(20);
  12. student.setCourses(Arrays.asList("Engineering", "Finance", "Chemistry"));
  13. JSONObject object = new JSONObject(student);
  14. String json = object.toString();
  15. System.out.println(json);
  16. System.out.println(new Gson().toJson(student));
  17. // Creating Object of ObjectMapper define in Jackson API
  18. ObjectMapper Obj = new ObjectMapper();
  19. // Converting the Java object into a JSON string
  20. String jsonStr = Obj.writeValueAsString(student);
  21. // Displaying Java object into a JSON string
  22. System.out.println(jsonStr);
  23. }
  24. }

运行此代码会产生以下结果:

  1. {"courses":["Engineering","Finance","Chemistry"],"name":"Alice","id":1,"age":20}
  2. {"id":1,"name":"Alice","age":20,"courses":["Engineering","Finance","Chemistry"]}
  3. {"id":1,"name":"Alice","age":20,"courses":["Engineering","Finance","Chemistry"]}

上面代码中使用的Student类:

  1. import java.util.List;
  2. public class Student {
  3. private Long id;
  4. private String name;
  5. private int age;
  6. private List<String> courses;
  7. public Student(Long id, String name, int age, List<String> courses) {
  8. this.id = id;
  9. this.name = name;
  10. this.age = age;
  11. this.courses = courses;
  12. }
  13. Student() {
  14. }
  15. public Long getId() {
  16. return id;
  17. }
  18. public void setId(Long id) {
  19. this.id = id;
  20. }
  21. public String getName() {
  22. return name;
  23. }
  24. public void setName(String name) {
  25. this.name = name;
  26. }
  27. public int getAge() {
  28. return age;
  29. }
  30. public void setAge(int age) {
  31. this.age = age;
  32. }
  33. public List<String> getCourses() {
  34. return courses;
  35. }
  36. public void setCourses(List<String> courses) {
  37. this.courses = courses;
  38. }
  39. }

Maven 依赖项

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>com.example.javaobjectjson</groupId>
  5. <artifactId>JavaObjectJSON</artifactId>
  6. <version>1.0-SNAPSHOT</version>
  7. <dependencies>
  8. <!-- https://mvnrepository.com/artifact/org.json/json -->
  9. <dependency>
  10. <groupId>org.json</groupId>
  11. <artifactId>json</artifactId>
  12. <version>20211205</version>
  13. </dependency>
  14. <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
  15. <dependency>
  16. <groupId>com.google.code.gson</groupId>
  17. <artifactId>gson</artifactId>
  18. <version>2.9.0</version>
  19. </dependency>
  20. <dependency>
  21. <groupId>com.fasterxml.jackson.core</groupId>
  22. <artifactId>jackson-databind</artifactId>
  23. <version>2.12.1</version>
  24. </dependency>
  25. </dependencies>
  26. </project>

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发