Javascript java类的JSON模式

Javascript java类的JSON模式,javascript,json,jaxb,jax-rs,jsonschema,Javascript,Json,Jaxb,Jax Rs,Jsonschema,我正在使用Jackson 1.5生成JSON模式,并尝试为java类生成JSON模式 我为Employee类尝试了以下代码 @XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "Employee") public class Employee { int id; String name; Date date; } 上面的代码为日期字段生成了数字类型,我是否需要指定任何注释来转换日期类型 { "type

我正在使用Jackson 1.5生成JSON模式,并尝试为java类生成JSON模式

我为Employee类尝试了以下代码

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Employee")
public class Employee {
int id;
String name;
Date date;
}


上面的代码为日期字段生成了数字类型,我是否需要指定任何注释来转换日期类型

{
 "type": "object",
 "optional": true,
 "items":    {
 "type": "number",
 "optional": true
},
 "properties":{
   "id":       {
     "type": "integer",
     "optional": true
  },
  "name":       {
     "type": "string",
     "optional": true
  },
  "date":       {
     "type": "number",
     "optional": true
  }
}
}

此外,如果字段(例如id)是必需的,我如何指定显示为“必需”:在JSON模式中为true?

不幸的是,Jackson不支持验证,例如验证必需的字段。可以这样做

对于日期转换问题,非常好地展示了处理此问题的所有方法。

可以使用“@JsonProperty(Required=true)”注释指定“Required”

public class Employee {
    @JsonProperty(required = true)
    int id;

    String name;

    Date date;
}
JSON模式标准中没有原始的“日期”类型,Jackson中也没有对任何日期验证注释的固有支持


然而,有一个名为“格式”的JSON模式概念,它澄清了“字符串”类型。这里支持的基本格式之一是“日期-时间”,这意味着使用给定格式的日期。可以让映射程序支持这种格式,但如果没有显著的扩展,就不可能将“格式”注释添加到JSON模式。

我不需要验证字段。我只需要将其指定为“meta”为“required”:当用户请求检查类中需要哪些字段时,为true。请注意,
required
属性在反序列化过程中不起任何作用,请参见javadocs这是true,但它在JSON模式定义中生成了正确的字段,这对其他工具仍然有帮助。
public class Employee {
    @JsonProperty(required = true)
    int id;

    String name;

    Date date;
}