中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

java jsonschema 如何驗證

小樊
81
2024-11-30 01:04:15
欄目: 編程語言

Java JSON Schema 驗證庫 com.github.fge.jsonschema.core.exceptions.ProcessingException 提供了對 JSON 對象的驗證功能。以下是一個簡單的示例,演示了如何使用此庫驗證 JSON 對象:

首先,確保已將 com.github.fge.jsonschema:jsonschema 庫添加到項目的依賴項中。對于 Maven 項目,可以在 pom.xml 文件中添加以下依賴項:

<dependency>
    <groupId>com.github.fge</groupId>
    <artifactId>jsonschema</artifactId>
    <version>2.13.0</version>
</dependency>

接下來,編寫一個簡單的 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” 以及相應的錯誤報告。

0
张家界市| 吐鲁番市| 正安县| 福贡县| 嵊泗县| 新沂市| 乐平市| 扬州市| 逊克县| 汾西县| 玛多县| 安宁市| 镇平县| 高尔夫| 东方市| 平江县| 高雄县| 鹤壁市| 塔城市| 方城县| 专栏| 龙泉市| 西充县| 新乡县| 盈江县| 沙河市| 山西省| 德化县| 老河口市| 曲靖市| 禹州市| 江津市| 云安县| 保靖县| 泰顺县| 芮城县| 曲阳县| 蒙阴县| 太湖县| 靖州| 南阳市|