上面的代码, 和 以后的代码 都用java语言写出来
时间: 2024-04-10 19:34:56 浏览: 70
好的,以下是相同的示例代码,使用 Java 语言编写:
```java
import java.util.HashMap;
import java.util.Map;
import com.github.fge.jsonschema.core.exceptions.ProcessingException;
import com.github.fge.jsonschema.core.report.ProcessingReport;
import com.github.fge.jsonschema.core.util.JsonLoader;
import com.github.fge.jsonschema.main.JsonSchema;
import com.github.fge.jsonschema.main.JsonSchemaFactory;
import com.github.fge.jsonschema.main.JsonValidator;
public class ValidatorExample {
public static void main(String[] args) throws Exception {
// 定义验证规则
String schema = "{\n" +
" \"type\": \"object\",\n" +
" \"properties\": {\n" +
" \"name\": {\"type\": \"string\"},\n" +
" \"age\": {\"type\": \"integer\", \"minimum\": 18}\n" +
" },\n" +
" \"required\": [\"name\", \"age\"]\n" +
"}";
// 创建 JsonSchema 实例
JsonSchemaFactory factory = JsonSchemaFactory.byDefault();
JsonSchema jsonSchema = factory.getJsonSchema(JsonLoader.fromString(schema));
// 要验证的数据
Map<String, Object> data = new HashMap<>();
data.put("name", "John Doe");
data.put("age", 25);
// 验证数据是否符合规则
JsonValidator validator = factory.getValidator();
ProcessingReport report = jsonSchema.validate(JsonLoader.fromMap(data));
if (report.isSuccess()) {
System.out.println("数据验证通过!");
} else {
System.out.println("数据验证失败!");
System.out.println(report);
}
}
}
```
在上面的 Java 代码示例中,我们使用了 json-schema-validator 库来实现数据验证。首先,我们定义了一个验证规则 `schema`,其中包含了对 `name` 和 `age` 字段的要求。然后,我们使用 `JsonSchemaFactory` 创建一个 `JsonSchema` 实例,并将规则传递给它。接下来,我们定义了要验证的数据 `data`,并使用 `validate()` 方法对数据进行验证。通过判断验证报告 `report` 是否成功,来输出验证结果。
请确保在项目中添加了相应的依赖,例如 Maven:
```xml
<dependency>
<groupId>com.github.fge</groupId>
<artifactId>json-schema-validator</artifactId>
<version>2.2.14</version>
</dependency>
```
以上是使用 Java 语言实现 Validator 的示例代码,你可以根据自己的需求定义不同的验证规则,并使用相应的库来实现数据验证。
阅读全文