0

私はjsonschema2pojoを使用して POJO を生成しています。その正常に動作します。しかし、単一の json スキーマ ファイルから複数の POJO を生成したいと考えています。これはjsonschema2pojoプラグインを使用して可能ですか?

複数の POJO を生成する 1 つの方法は、複数の json スキーマ ファイルを提供することですが、私はそうしたくありません。入力として json スキーマ ファイルを 1 つだけ提供したいと考えています。

入力として次の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>
}

...ごみ箱のオブジェクトが残りますが、すべてのオブジェクトを 1 つのスキーマで定義できます。私はまた、よりクリーンなソリューションが本当に好きだったでしょう。

于 2015-03-24T10:33:31.367 に答える