温馨提示×

java中json数据的格式校验方法

小樊
112
2024-08-23 19:37:31
栏目: 编程语言

在Java中,可以使用第三方库如json-schema-validator或json-schema-validation来校验JSON数据的格式。以下是使用json-schema-validator的示例:

  1. 添加Maven依赖:
<dependency>
    <groupId>com.github.fge</groupId>
    <artifactId>json-schema-validator</artifactId>
    <version>2.2.6</version>
</dependency>
  1. 创建JSON Schema文件(例如schema.json):
{
    "type": "object",
    "properties": {
        "name": {
            "type": "string"
        },
        "age": {
            "type": "integer"
        }
    },
    "required": ["name", "age"]
}
  1. 编写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的定义,那么校验通过,否则会抛出异常。

0