【问题标题】:JSON schema validator library in JavaJava 中的 JSON 模式验证器库
【发布时间】:2013-09-23 00:07:36
【问题描述】:

我有一个必须接受 JSON 请求的宁静 Web 服务 (JAVA)。我必须首先根据我拥有的 JSON 模式验证这个 JSON。 我不确定再次验证 JSON 模式的最佳 JAVA 库是什么。 我使用了json-schema-validator-2.1.7 库,但它并没有太大帮助。即使我的 JSON 不是有效的 JSON,我也没有收到任何错误。

这是我用于 json-schema-validator-2.1.7 的代码

InputStream jsonSchemaInputStream = Assessment.class.getClassLoader().getResourceAsStream("Schemas/AssessmentMetrics.json");
ObjectMapper mapper = new ObjectMapper();

// Allows to retrieve a JSONSchema object on various sources
// supported by the ObjectMapper provided
JSONSchemaProvider schemaProvider = new JacksonSchemaProvider(mapper);

// Retrieves a JSON Schema object based on a file
JSONSchema schema = schemaProvider.getSchema(jsonSchemaInputStream);

// Validates a JSON Instance object stored in a file
List<String> errors = schema.validate(contents);

【问题讨论】:

  • 正如 Francis 所说的 groups.google.com/forum/#!topic/json-schema/ew_s7G9PoxE (编写您正在使用的库的人),似乎 Java 中用于 JSON Schema 验证的最完整选项是他的库......好吧,你可能也想尝试杰克逊验证模块。另外,请记住 2.1.7 不是稳定版本,而是 2.0.1(根据github.com/fge/json-schema-validator)。也就是说,我会要求您在您的问题中添加您的架构示例和您尝试验证的 json。

标签: java json jsonschema


【解决方案1】:
【解决方案2】:

对于 JSON 的一切,我都偏向于杰克逊。

https://github.com/FasterXML/jackson-module-jsonSchema

【讨论】:

  • 阅读该链接,它似乎不是 JSON 模式验证器。它假定您已注释 Java 类,它将检查这些并生成所有序列化 JSON 都将遵循的 JSON 模式。而发帖者的问题是相反的场景——有人给了他们一个 JSON Schema 和一个 JSON 文档,他们想检查文档是否满足该模式。
猜你喜欢
  • 2012-03-23
  • 1970-01-01
  • 2021-09-22
  • 1970-01-01
  • 1970-01-01
  • 2020-12-22
  • 1970-01-01
  • 2019-10-17
  • 2021-05-18
相关资源
最近更新 更多