gpt4 book ai didi

java - 将具有嵌套 Java 类数组的 Java 类转换为 JSON

转载 作者:太空宇宙 更新时间:2023-11-04 13:32:48 25 4
gpt4 key购买 nike

是否有一种方便的方法将具有 Java 类嵌套数组的 Java 类转换为 JSON?例如,我想将以下类的实例转换为 JSON:

public class Students {
private final String serial_no;
private final class InnerData {
private final String[] strs;
private final String name;
private final String city;
}
private final StudentList[] students;

}

作为

{ 
"serial_no" : null,
students : [
{
"strs" : ["athlete", "grammarian"],
"name" : "John Smith",
"city" : "Auckland"
},
{
"strs" : ["postmaster", "swimmer"],
"name" : "Jane Doe",
"city" : "Sydney"
}
]
}

在 Spring 中执行此操作的最佳方法是什么?到目前为止,我遇到的示例似乎都是简单的类,没有嵌套。

最佳答案

要从 spring 对象返回 JSON 形式的 java 对象需要两个简单的配置:1)将“jackson-mapper-asl”依赖项添加到类路径中2) 在 Controller 的方法中添加@ResponseBody注解

1) 将“jackson-mapper-asl”依赖项添加到类路径

在 spring mvc 项目中,我们需要向 pom.xml 文件添加“jackson-mapper-asl”依赖项,默认情况下会完成对象到 json 的转换。

<dependency>   <groupId>org.codehaus.jackson</groupId>   <artifactId>jackson-mapper-asl</artifactId>   <version>1.9.10</version>  </dependency>  

2) 在 Controller 的方法中添加@ResponseBody注解

我们需要做的第二件事是对 Controller 的方法使用“@ResponseBody”注释。这将使 spring 明白方法返回值应该绑定(bind)到 Web 响应主体。

@RequestMapping("studentlist")   public 

@ResponseBody   List<Student> getStudentList() {    List<Student> studentList = new ArrayList<Student>();    studentList.add(new Student(23, "Meghna", "Naidu", "meghna@gmail.com",      "8978767878"));    studentList.add(new Student(3, "Robert", "Parera", "robert@gmail.com",      "8978767878"));    studentList.add(new Student(93, "Andrew", "Strauss",      "andrew@gmail.com", "8978767878"));    studentList.add(new Student(239, "Eddy", "Knight", "knight@gmail.com",      "7978767878"));      return studentList;   

关于java - 将具有嵌套 Java 类数组的 Java 类转换为 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32000675/

25 4 0
文章推荐: html - 让整个
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com