Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从单个json模式文件生成多个POJO_Java_Json_Jsonschema_Jsonschema2pojo - Fatal编程技术网

Java 从单个json模式文件生成多个POJO

Java 从单个json模式文件生成多个POJO,java,json,jsonschema,jsonschema2pojo,Java,Json,Jsonschema,Jsonschema2pojo,我正在使用jsonschema2pojo生成POJO。工作正常。 但我想从单个json模式文件生成多个POJO。 这是否可以使用jsonschema2pojo插件实现 生成多个POJO的一种方法是提供多个json模式文件,但我不想这样做。我只想提供一个json模式文件作为输入 我提供以下json模式作为输入: { "Address": { "description": "AnAddressfollowingtheconventionofhttp: //microformats.org

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

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


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

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

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

Thanx.

我为此做了一点糟糕的变通,让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>
}
…它将留给您一个垃圾对象,但允许您在一个模式中定义所有对象。不过,我也希望有一个更干净的解决方案。

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