使用 jsonschema2pojo 生成 Java POJO

问题描述

我的 Json 是

int language = intent.getIntExtra("langCode",0);

架构生成

    {
  "salesOrder": {
    "eventControl": {
      "msgActnCd": "00"      
    },"orderHeader": [
      {        
        "assignmentNbr": "10"
       },{        
        "assignmentNbr": "20"
       }
    ]
  }
}

pom.xml 其中 jsonschema2pojo-plugin.version 是 1.0.1

{
    "$schema": "http://json-schema.org/draft-07/schema","$id": "http://example.com/example.json","type": "object","required": [
        "salesOrder"
    ],"properties": {
        "salesOrder": {
            "$id": "#/properties/salesOrder","required": [
                "eventControl","orderHeader"
            ],"properties": {
                "eventControl": {
                    "$id": "#/properties/salesOrder/properties/eventControl","required": [
                        "msgActnCd"
                    ],"properties": {
                        "msgActnCd": {
                            "$id": "#/properties/salesOrder/properties/eventControl/properties/msgActnCd","type": "string"
                        }
                    },"additionalProperties": false
                },"orderHeader": {
                    "$id": "#/properties/salesOrder/properties/orderHeader","type": "array","additionalItems": false,"items": {
                        "$id": "#/properties/salesOrder/properties/orderHeader/items","anyOf": [
                            {
                                "$id": "#/properties/salesOrder/properties/orderHeader/items/anyOf/0","required": [
                                    "assignmentNbr"
                                ],"properties": {
                                    "assignmentNbr": {
                                        "$id": "#/properties/salesOrder/properties/orderHeader/items/anyOf/0/properties/assignmentNbr","type": "string"
                                    }
                                },"additionalProperties": false
                            }
                        ]
                    }
                }
            },"additionalProperties": false
        }
    },"additionalProperties": false
}

生成三个类。 SoSchema、EventControl 和 SalesOrder。

<plugin>
                <groupId>org.jsonschema2pojo</groupId>
                <artifactId>jsonschema2pojo-maven-plugin</artifactId>
                <version>${jsonschema2pojo-plugin.version}</version>
                <configuration>
                    <annotationStyle>jackson2</annotationStyle>
                    <includeAdditionalProperties>false</includeAdditionalProperties>
                    <includeHashcodeAndEquals>false</includeHashcodeAndEquals>
                    <includetoString>false</includetoString>
                    <!-- <removeOldOutput>true</removeOldOutput> -->
                    <sourceDirectory>src/main/resources/jsonschema</sourceDirectory>
                    <targetPackage>com.my.mapper.model.output</targetPackage>
                    <!-- ${project.build.directory}/generated-sources/jsonschema2pojo -->
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

但是没有生成用于保存 orderHeader 内容自定义类。它是生成代码中的对象列表。如何为 OrderHeader 中的内容创建自定义

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)