我正在使用 jsonschema2pojo 来生成POJO。它的工作正常。 但我想从单个json模式文件生成多个POJO。 这是否可以使用 jsonschema2pojo 插件。
生成多个POJO的一种方法是提供多个json模式文件,但我不想这样做。我想只提供一个json模式文件作为输入。
我提供以下json架构作为输入:
{
"Address": {
"description": "AnAddressfollowingtheconventionofhttp: //microformats.org/wiki/hcard",
"type": "object",
"properties": {
"post-office-box": {
"type": "string"
},
"post-office-address": {
"type": "string"
}
},
"additionalProperties": false
},
"AddressDetails": {
"description": "AnAddressDetailsfollowingtheconventionofhttp: //microformats.org/wiki/hcard",
"type": "object",
"properties": {
"post-office-box": {
"type": "string"
},
"post-office-address": {
"type": "string"
}
}
}
}
上面的架构是有效的架构,但没有创建任何内容。我不知道如果我错过了某些东西,或者使用 jsonschema2pojo ,那是不可能的。
还有一种方法可以在运行时生成这些实体吗?
如果有人对此有任何想法,请分享。
答案 0 :(得分:0)
解决方案是将这些文件拆分为单独的文件,或者从另一个文件中引用这些模式,如:
{"$ref" : "schemas/myfile.json#AddressDetails"}
感谢名单。
答案 1 :(得分:0)
通过让jsonschema2pojo生成一个外部"垃圾"我为此做了一些丑陋的解决方法。对象,其中包含
"$schema": "http://json-schema.org/draft-04/schema#",
"description":"Do not use outer object, it's merely a schema wrapper for the inner objects.",
"id":"http://some-path",
"type":"object",
"properties": {
<all your objects go here>
}
...它将为您留下一个垃圾对象,但让您在一个架构中定义所有对象。我也非常喜欢更清洁的解决方案。
答案 2 :(得分:0)
我使用了this网站,我可以从单个JSON文件生成多个POJO。他们还有ZIP选项,可以一次下载所有文件。