legongju.com
我们一直在努力
2024-12-24 00:42 | 星期二

java jsonschema 如何验证

Java JSON Schema 验证库 com.github.fge.jsonschema.core.exceptions.ProcessingException 提供了对 JSON 对象的验证功能。以下是一个简单的示例,演示了如何使用此库验证 JSON 对象:

首先,确保已将 com.github.fge.jsonschema:jsonschema 库添加到项目的依赖项中。对于 Maven 项目,可以在 pom.xml 文件中添加以下依赖项:


    com.github.fge
    jsonschema
    2.13.0

接下来,编写一个简单的 Java 程序来验证 JSON 对象:

import com.github.fge.jsonschema.core.exceptions.ProcessingException;
import com.github.fge.jsonschema.core.report.ProcessingReport;
import com.github.fge.jsonschema.main.JsonSchema;
import com.github.fge.jsonschema.main.JsonSchemaFactory;
import com.github.fge.jsonschema.main.JsonValidator;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

public class JsonSchemaValidator {
    public static void main(String[] args) {
        // JSON Schema 定义
        String schemaJson = "{ \"type\": \"object\", \"properties\": { \"name\": { \"type\": \"string\" }, \"age\": { \"type\": \"number\" } }, \"required\": [\"name\", \"age\"] }";

        // 待验证的 JSON 对象
        String json = "{ \"name\": \"John\", \"age\": 30 }";

        try {
            // 创建 JSON Schema 对象
            JsonSchemaFactory factory = JsonSchemaFactory.getInstance();
            JsonSchema schema = factory.getJsonSchema(schemaJson);

            // 创建 JSON 验证器对象
            JsonValidator validator = schema.getValidator();

            // 执行验证
            ProcessingReport report = validator.validate(json);

            // 输出验证结果
            System.out.println("Validation result: " + (report.isSuccess() ? "Passed" : "Failed"));
            System.out.println("Report: " + report);

        } catch (IOException | ProcessingException e) {
            e.printStackTrace();
        }
    }
}

在这个示例中,我们首先定义了一个 JSON Schema,用于描述有效的 JSON 对象结构。然后,我们创建了一个待验证的 JSON 对象。接下来,我们使用 JsonSchemaFactory 创建一个 JsonSchema 对象,并使用该对象创建一个 JsonValidator 对象。最后,我们调用 validator.validate() 方法执行验证,并输出验证结果。

如果 JSON 对象符合 JSON Schema 定义的结构,程序将输出 “Validation result: Passed”。否则,将输出 “Validation result: Failed” 以及相应的错误报告。

未经允许不得转载 » 本文链接:https://www.legongju.com/article/51729.html

相关推荐

  • java unsafe类有何风险

    java unsafe类有何风险

    Java的Unsafe类是一个非常强大且危险的工具,它提供了一些底层操作,使得开发人员可以直接访问和修改内存、线程和对象等。然而,使用Unsafe类也存在一些风险,主...

  • java unsafe类能直接用吗

    java unsafe类能直接用吗

    Java的Unsafe类是一个非常强大且危险的工具,它提供了一些底层操作,如直接内存访问、线程调度等。虽然它非常强大,但并不建议直接使用Unsafe类,原因如下: 安全...

  • java unsafe类怎样规避问题

    java unsafe类怎样规避问题

    Java的Unsafe类是一个非常强大但同时也非常危险的工具,因为它提供了对内存和系统资源的不受限制访问。使用Unsafe类可以绕过Java的内存管理和垃圾回收机制,这可...

  • java unsafe类和反射关系

    java unsafe类和反射关系

    Java中的Unsafe类和反射之间存在一定的关系,但它们在使用场景和功能上有很大的区别。 Unsafe类:
    Unsafe类是Java的一个本地(native)方法库,它提供了一些...

  • java jsonschema 能做什么

    java jsonschema 能做什么

    在Java中,JSON Schema主要用于数据校验、API文档生成、代码生成等方面,确保JSON数据的有效性和一致性。以下是详细信息介绍:
    数据校验
    JSON Schema允...

  • java jsonschema 有哪些优势

    java jsonschema 有哪些优势

    JSON Schema在Java中的应用具有多方面的优势,它能够提高数据处理的效率与准确性,同时增强数据的健壮性。以下是JSON Schema在Java中的主要优势: 数据验证:确保...

  • java jsonschema 怎么使用

    java jsonschema 怎么使用

    Java JSON Schema 是一种用于描述 JSON 数据格式的工具,它可以帮助你在 Java 代码中验证 JSON 数据是否符合预期的结构。要使用 Java JSON Schema,你可以使用一...

  • java jsonschema 为何重要

    java jsonschema 为何重要

    JSON Schema在Java中的重要性体现在多个方面,它不仅能帮助开发者定义和验证JSON数据结构,还能提高数据交换的互操作性,增强数据的健壮性。以下是详细信息: