Javascript java类的JSON模式
我正在使用Jackson 1.5生成JSON模式,并尝试为java类生成JSON模式 我为Employee类尝试了以下代码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
@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;
}