Spring Boot 中使用 JSON Schema 来校验复杂JSON数据
import com.networknt.schema.JsonSchemaFactory;
import com.networknt.schema.SpecVersion;
import com.networknt.schema.ValidationMessage;
import org.junit.jupiter.api.Test;
import java.util.Set;
public class JsonSchemaValidationTest {
@Test
public void testJsonSchemaValidation() {
String schemaContent = "{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"}},\"required\":[\"name\"]}";
String jsonContent = "{\"name\":\"John Doe\"}";
// 使用JsonSchemaFactory创建一个JsonSchema
JsonSchemaFactory jsonSchemaFactory = JsonSchemaFactory.getInstance(SpecVersion.VersionFlag.V7);
com.networknt.schema.JsonSchema jsonSchema = jsonSchemaFactory.getSchema(schemaContent);
// 验证JSON数据
Set<ValidationMessage> errors = jsonSchema.validate(jsonContent);
// 输出验证结果
if (errors.isEmpty()) {
System.out.println("JSON数据符合schema规定的结构和类型");
} else {
System.out.println("JSON数据验证失败:");
for (ValidationMessage error : errors) {
System.out.println(error.getMessage());
}
}
}
}
这段代码展示了如何在Spring Boot项目中使用networknt/json-schema-validator
库来验证JSON数据是否符合一个预定义的JSON Schema。首先定义了一个JSON Schema和一个需要验证的JSON字符串,然后使用JsonSchemaFactory
来创建一个JsonSchema
实例,并调用其validate
方法进行验证。根据验证结果输出相应的信息。
评论已关闭