javascript - java 类的 JSON 架构

标签 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;
}
<小时/>
ObjectMapper mapper = new ObjectMapper();
JsonSchema jsonSchema = mapper.generateJsonSchema(Employee.class);
<小时/>

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

{
 "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 模式中显示为“required”:true?

最佳答案

不幸的是,Jackson 不支持验证,例如验证必填字段。 Beans Validation相反,可以这样做。

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

关于javascript - java 类的 JSON 架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25513451/

相关文章:

javascript - Golang中如何使用javascript获取特定网站元素或提交表单

javascript - Opera 中难以调试的情况(或错误)

从 API 返回的 JSON 日期格式(没有时间)

javascript - 如何从 JavaScriptObject 读取 String[]? (GWT)

JAXB : Is the annotation @XmlAccessorType is only for Serialization and nothing to do with Binding of data?

javascript - React-elastic-carousel 动态 itemsToShow 取决于屏幕尺寸

带有等待解释的 Javascript Promise

JavaScript 无法解析 JSON

java - 什么是 JAXBContext.newInstance(String contextPath)?

java - 如何避免 JAXB 序列化的 public int 字段?