阅读量:0
在Java中,可以使用第三方库如json-schema-validator或json-schema-validation来校验JSON数据的格式。以下是使用json-schema-validator的示例:
- 添加Maven依赖:
<dependency> <groupId>com.github.fge</groupId> <artifactId>json-schema-validator</artifactId> <version>2.2.6</version> </dependency>
- 创建JSON Schema文件(例如schema.json):
{ "type": "object", "properties": { "name": { "type": "string" }, "age": { "type": "integer" } }, "required": ["name", "age"] }
- 编写Java代码进行校验:
import com.fasterxml.jackson.databind.JsonNode; import com.github.fge.jackson.JsonLoader; import com.github.fge.jsonschema.core.exceptions.ProcessingException; import com.github.fge.jsonschema.main.JsonSchema; import com.github.fge.jsonschema.main.JsonSchemaFactory; import java.io.File; import java.io.IOException; public class JsonValidator { public static void main(String[] args) throws IOException, ProcessingException { JsonNode jsonData = JsonLoader.fromFile(new File("data.json")); JsonNode schemaData = JsonLoader.fromFile(new File("schema.json")); JsonSchemaFactory factory = JsonSchemaFactory.byDefault(); JsonSchema schema = factory.getJsonSchema(schemaData); schema.validate(jsonData); System.out.println("Data is valid!"); } }
在这个示例中,我们加载了JSON数据和JSON Schema文件,并使用JsonSchema类进行校验。如果数据符合JSON Schema的定义,那么校验通过,否则会抛出异常。