Java JSON Schema 是一种用于描述 JSON 数据格式的工具,它可以帮助你在 Java 代码中验证 JSON 数据是否符合预期的结构。要使用 Java JSON Schema,你可以使用一些流行的库,如 Jackson-dataformat-jsonschema
和 jsonschema-core
。下面是一个简单的示例,展示了如何使用 Jackson-dataformat-jsonschema
库来验证 JSON 数据。
首先,确保你已经将 jackson-dataformat-jsonschema
库添加到项目的依赖中。如果你使用的是 Maven,可以在 pom.xml
文件中添加以下依赖:
com.fasterxml.jackson.dataformat jackson-dataformat-jsonschema 2.13.0
接下来,你可以使用以下代码来验证 JSON 数据:
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.dataformat.jsonschema.JsonSchema; import com.fasterxml.jackson.dataformat.jsonschema.JsonSchemaGenerator; public class JsonSchemaExample { public static void main(String[] args) throws Exception { // JSON 数据 String jsonData = "https://www.yisu.com/ask/{/"name\":\"John\", \"age\":30, \"city\":\"New York\"}"; // JSON Schema 定义 String schemaJson = "{\"type\":\"object\", \"properties\":{\"name\":{\"type\":\"string\"}, \"age\":{\"type\":\"number\"}, \"city\":{\"type\":\"string\"}}}"; // 创建 ObjectMapper 实例 ObjectMapper objectMapper = new ObjectMapper(); // 创建 JsonSchemaGenerator 实例 JsonSchemaGenerator schemaGenerator = new JsonSchemaGenerator(objectMapper); // 生成 JSON Schema JsonSchema jsonSchema = schemaGenerator.generateSchema(schemaJson); // 将 JSON 数据解析为 JsonNode JsonNode jsonNode = objectMapper.readTree(jsonData); // 验证 JSON 数据是否符合 JSON Schema boolean isValid = jsonSchema.validate(jsonNode); if (isValid) { System.out.println("JSON 数据有效"); } else { System.out.println("JSON 数据无效"); } } }
在这个示例中,我们首先定义了一个 JSON 数据和一个 JSON Schema。然后,我们使用 ObjectMapper
和 JsonSchemaGenerator
类来生成 JSON Schema。最后,我们将 JSON 数据解析为 JsonNode
对象,并使用 JSON Schema 对其进行验证。如果验证通过,我们将输出 “JSON 数据有效”,否则输出 “JSON 数据无效”。