![](/img/trans.png)
[英]How to add the name before the array in the array object itself in a JSON response?
[英]How to add name to List in jSON Array, posting response using springboot
我正在使用 springBoot 构建 json 数据。 我想以另一种方式获取数据,我得到了这个回复
[
{
"id": "Spring",
"name": "Spring FrameWork",
"description": "Spring Frame work descreption"
},
{
"id": "java",
"name": "java FrameWork",
"description": "Java Frame work descreption"
},
{
"id": "javascript",
"name": "javascript FrameWork",
"description": "java script Frame work descreption"
}
]
我想要这样的回应
"topics":[
{
"id": "Spring",
"name": "Spring FrameWork",
"description": "Spring Frame work descreption"
},
{
"id": "java",
"name": "java FrameWork",
"description": "Java Frame work descreption"
},
{
"id": "javascript",
"name": "javascript FrameWork",
"description": "java script Frame work descreption"
}
]
我的 spring 启动代码是:
@RequestMapping("/topics")
public List<Topic> getAllTopics() {
return topicService.getAllTopics();
}
我的主题 model:-
public class Topic {
private String id;
private String name;
private String description;
public Topic() {
}
public Topic(String id, String name, String description) {
super();
this.id = id;
this.name = name;
this.description = description;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}
我需要在代码中添加什么,以便 JSON 数据应该包含该列表的名称。 这可以使用 JSON 数据 object 来完成。 但是有没有别的办法? 请回答我的问题
创建一个 Map 并返回
@RequestMapping("/topics")
public Map<String, List<Topic>> getAllTopics() {
Map<String, List<Topic>> response = new HashMap<String, List<Topic>>();
response.put("topics", topicService.getAllTopics());
return response;
}
这不是有效的 json。
"topics":[
{
"id": "Spring",
"name": "Spring FrameWork",
"description": "Spring Frame work descreption"
},
{
"id": "java",
"name": "java FrameWork",
"description": "Java Frame work descreption"
},
{
"id": "javascript",
"name": "javascript FrameWork",
"description": "java script Frame work descreption"
}
]
根据JSON Docs , json 应以{
或[
开头。
正确的 json 将是:
{
"topics": [
{
"id": "Spring",
"name": "Spring FrameWork",
"description": "Spring Frame work descreption"
},
{
"id": "java",
"name": "java FrameWork",
"description": "Java Frame work descreption"
},
{
"id": "javascript",
"name": "javascript FrameWork",
"description": "java script Frame work descreption"
}
]
}
并在响应中实现这种格式:
public class TopicsData {
List<Topic> topics;
// getters and setters
}
TopicsData
object 中设置主题列表topicService
或 controller 代码以返回TopicsData
object 而不是List<Topic>
。您可以通过将您的主题添加到另一个 class 来实现,例如:TopicResponse。 将此作为您的 controller 返回类型:
public class TopicResponse {
List<Topic> topics;
//and getter / setter of topics
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.