微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

xsd xsi: jsonschema 中的类型支持

如何解决xsd xsi: jsonschema 中的类型支持

我遵循了 https://github.com/joelittlejohn/jsonschema2pojo/pull/310,但不确定如何在我的 json 架构中使用“deserializationClassproperty”...

这是我所拥有的

vehicle.json
{
  "type": "object","id": "#Vehicle","additionalProperties": false,"javaType": "Vehicle",**"deserializationClassproperty" : "Car.class,Truck.class"**,"properties": {
    "color": {
      "type": "string"
    }
  }
}
car.json
{
  "type": "object","id": "#Car","javaType": "Car","extends": {
    "type": "object","existingJavaType": "Vehicle"
  }
}
truck.json
{
  "type": "object","id": "#Truck","javaType": "Truck","existingJavaType": "Vehicle"
  }
}

inventoryitem.json
{
  "type": "object","id": "#InventoryItem","javaType": "InventoryItem","properties": {
    "vehicle": {
      "#ref": "vehicle.json"
    }
  }
}

这是我尝试使用 XmlMapper 解组的输入

<InventoryItem><Vehicle xis:type="ns2:car"/></InventoryItem>

上述模式的生成代码

@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS,include = JsonTypeInfo.As.PROPERTY,property = "Car.class,Truck.class")
public class Vehicle

但我需要按如下所示生成才能使其正常工作 我需要通过json模式生成以下内容

    @JsonTypeInfo(use = JsonTypeInfo.Id.NAME,include = JsonTypeInfo.As.EXISTING_PROPERTY,property = "type")
@JsonSubTypes ({
        @JsonSubTypes.Type(value = Truck.class,name = "truck"),@JsonSubTypes.Type(value = Car.class,name = "car")
})
    public class Vehicle 

还有如何忽略命名空间“ns2:car”

感谢您的时间

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。