gpt4 book ai didi

java - Jackson 使用可变键序列化对象的数组列表

转载 作者:行者123 更新时间:2023-11-30 07:57:40 28 4
gpt4 key购买 nike

我正在使用一些不同的 POJO 来生成 swagger API 规范。但是,我在尝试正确格式化 JSON 时遇到了问题。

当前响应如下所示:

生成的 JSON

 {
"parameters": {
"regionid": {
"description": "Region ID for Regional Assignment",
"required": false,
"type": "integer",
"format": "int32"
},
"timeperiodid": {
"description": "School year time period",
"required": false,
"type": "integer",
"format": "int32"
}
}
}

生成的 Yaml

parameters:
regionid:
description: Region ID for Regional Assignment
required: false
type: integer
format: int32
timeperiodid:
description: School year time period
required: false
type: integer
format: int32

而不是正确的格式(对象的ArrayList):

预期 JSON

 {
"parameters": [
{
"regionid": {
"description": "Region ID for Regional Assignment",
"required": false,
"type": "integer",
"format": "int32"
}
},
{
"timeperiodid": {
"description": "School year time period",
"required": false,
"type": "integer",
"format": "int32"
}
}
]
}

预期的 Yaml

parameters:
- regionid:
description: Region ID for Regional Assignment
required: false
type: integer
format: int32
- timeperiodid:
description: School year time period
required: false
type: integer
format: int32

包装并返回参数的方法类:

 public class Method {
@JsonIgnore
private String method;

private HashMap<String, Parameter> parameters;

参数对象类:

 @JsonInclude(JsonInclude.Include.NON_NULL)
public class Parameter {
@JsonIgnore
private String name;

private String in;

private String description;

private boolean required;

private String type;

private String format;

最佳答案

您的parameters对象中有一个数组。该数组中的对象类型看起来像一个键/参数,因此您需要建模 Map<String, Parameter>作为数组项。

关于java - Jackson 使用可变键序列化对象的数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32440192/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com