将java.util.Map声明为json模式
我需要将将java.util.Map声明为json模式,java,json,maven,jsonschema,jsonschema2pojo,Java,Json,Maven,Jsonschema,Jsonschema2pojo,我需要将java.util.map实例映射到一个JSON模式中,org.jsonschema2pojomaven插件使用该模式创建一个POJO 我没有找到一个好的简单的解决办法 有人能帮我吗 这是我实际的json模式文件 { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Response", "description": "A Response object", "type": "o
java.util.map
实例映射到一个JSON模式中,org.jsonschema2pojo
maven插件使用该模式创建一个POJO
我没有找到一个好的简单的解决办法
有人能帮我吗
这是我实际的json模式文件
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Response",
"description": "A Response object",
"type": "object",
"properties": {
"result": {
"type": "string",
"description": "describes response status"
},
"msg": {
"type": "string",
"description": "user msgs"
}
},
"required": ["result"],
"additionalProperties": false
}
我需要添加一个字段
“errors”
,该字段在java中转换为java.util.Map
。AFAIKadditionalProperties
完成此工作。
您可以声明类型为Map
的errors属性,例如(现在是yaml):
您不需要指定键的类型,因为这描述了一个json文档,它自然地将字符串作为对象上的键
除了
type:object
之外,您还可以为Map
执行type:string
,或者引用另一个定义(如果您在该映射中有自己的类型作为值)。AFAIK附加属性
执行此任务。
您可以声明类型为Map
的errors属性,例如(现在是yaml):
您不需要指定键的类型,因为这描述了一个json文档,它自然地将字符串作为对象上的键
除了
type:object
之外,您还可以对Map
执行type:string
,或者引用另一个定义(如果您在该映射中有自己的类型作为值)。Hi!谢谢你的回复。我找到并尝试了additionalProperties,但我无法更改名称,然后进入生成的pojo,字段“additionalProperties”映射为@JsonIgnore,我不想要它。嗯,可能是代码生成器中的一个怪癖。你叫什么名字?你能粘贴一段你尝试过的内容和从中得到的信息吗?嗨!谢谢你的回复。我找到并尝试了additionalProperties,但我无法更改名称,然后进入生成的pojo,字段“additionalProperties”映射为@JsonIgnore,我不想要它。嗯,可能是代码生成器中的一个怪癖。你叫什么名字?你能粘贴一段你尝试过的内容和从中得到的信息吗?你能不能声明更多关于你的问题?根据我的理解,您有一个如上所述的JSON模式,您有一个映射可能看起来像:“errors”:{“type”:“string”},然后您想将该映射添加到JSON模式文件中,并在jsonschema2pojo中使用,对吗?如果我有任何误解,请举例说明,谢谢!你能就你的问题多说几句吗?根据我的理解,您有一个如上所述的JSON模式,您有一个映射可能看起来像:“errors”:{“type”:“string”},然后您想将该映射添加到JSON模式文件中,并在jsonschema2pojo中使用,对吗?如果我有任何误解,请举例说明,谢谢!
...
properties:
errors:
type: object
additionalProperties:
type: object