0

我正在使用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是不可能的。

还有一种方法可以在运行时生成这些实体吗?

如果有人对此有任何想法,请分享。

4

3 回答 3

0

解决方案是将它们拆分为单独的文件,或者从另一个文件中引用这些模式,例如:

{"$ref" : "schemas/myfile.json#AddressDetails"}

谢谢。

于 2015-01-07T16:50:15.647 回答
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>
}

...它会给您留下一个垃圾对象,但让您在一个模式中定义所有对象。不过,我也真的很喜欢更清洁的解决方案。

于 2015-03-24T10:33:31.367 回答
0

我使用了这个网站,并且能够从单个 JSON 文件生成多个 POJO。他们还具有 ZIP 选项,可以一次下载所有文件。

于 2016-03-18T13:24:38.193 回答