我开始在我正在从事的项目之一(org.jsonschema2pojo)中使用 JSON Schema to java pojo。我已经成功地在另一个模式中引用了一个模式,我可以看到那里有相同的信息。但是,我使用引用而不是引用原始 pojo 的 json 模式会创建一个具有完全相同信息的新文件。示例:
Json 架构 A:
{
"$schema": "https://json-schema.org/draft/2020-12/schema#",
"$id": "https://example.com/schemas/A",
"description": "Some Json Schema",
"type": "object",
"properties": {
"genericInfo": {
"type": "string",
"description": "Some generic info"
}
}
"required": ["genericInfo"]
}
Json 架构 B :
{
"$schema": "https://json-schema.org/draft/2020-12/schema#",
"$id": "https://example.com/schemas/B",
"description": "Some Json Schema B",
"type": "object",
"properties": {
"referenceToA": {
"$ref": "../jsonSchemaA.json"
}
}
}
我的 B 的 POJO 具有 A 的信息,但它没有引用相同的文件,而是创建了一个具有相同名称 + 信息的新文件。有办法阻止这种情况发生吗?这是一个已知的问题?由于我需要引用它们之间的模式,但在其中很多中使用通用的 pojo,如果我无法解决这个问题,我需要始终将其转换为原始模式。
提前致谢
您正在创建一个新的对象模式,其中包含引用。如果您只想引用
A
模式,则无需再次定义 properties
。
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://example.com/schemas/B",
"description": "Some Json Schema B",
"$ref": "../jsonSchemaA.json"
}