Java JSON Schema 验证库 com.github.fge.jsonschema.core.exceptions.ProcessingException
提供了对 JSON 对象的验证功能。以下是一个简单的示例,演示了如何使用此库验证 JSON 对象:
首先,确保已将 com.github.fge.jsonschema:jsonschema
库添加到项目的依赖项中。对于 Maven 项目,可以在 pom.xml
文件中添加以下依赖项:
com.github.fge jsonschema 2.13.0
接下来,编写一个简单的 Java 程序来验证 JSON 对象:
import com.github.fge.jsonschema.core.exceptions.ProcessingException; import com.github.fge.jsonschema.core.report.ProcessingReport; import com.github.fge.jsonschema.main.JsonSchema; import com.github.fge.jsonschema.main.JsonSchemaFactory; import com.github.fge.jsonschema.main.JsonValidator; import java.io.IOException; import java.util.HashMap; import java.util.Map; public class JsonSchemaValidator { public static void main(String[] args) { // JSON Schema 定义 String schemaJson = "{ \"type\": \"object\", \"properties\": { \"name\": { \"type\": \"string\" }, \"age\": { \"type\": \"number\" } }, \"required\": [\"name\", \"age\"] }"; // 待验证的 JSON 对象 String json = "{ \"name\": \"John\", \"age\": 30 }"; try { // 创建 JSON Schema 对象 JsonSchemaFactory factory = JsonSchemaFactory.getInstance(); JsonSchema schema = factory.getJsonSchema(schemaJson); // 创建 JSON 验证器对象 JsonValidator validator = schema.getValidator(); // 执行验证 ProcessingReport report = validator.validate(json); // 输出验证结果 System.out.println("Validation result: " + (report.isSuccess() ? "Passed" : "Failed")); System.out.println("Report: " + report); } catch (IOException | ProcessingException e) { e.printStackTrace(); } } }
在这个示例中,我们首先定义了一个 JSON Schema,用于描述有效的 JSON 对象结构。然后,我们创建了一个待验证的 JSON 对象。接下来,我们使用 JsonSchemaFactory
创建一个 JsonSchema
对象,并使用该对象创建一个 JsonValidator
对象。最后,我们调用 validator.validate()
方法执行验证,并输出验证结果。
如果 JSON 对象符合 JSON Schema 定义的结构,程序将输出 “Validation result: Passed”。否则,将输出 “Validation result: Failed” 以及相应的错误报告。