ホームページ > Java > &#&チュートリアル > JSON スキーマは Java で Jackson を使用してサポートされていますか?

JSON スキーマは Java で Jackson を使用してサポートされていますか?

PHPz
リリース: 2023-08-20 18:01:14
転載
1645 人が閲覧しました

在Java中使用Jackson支持JSON Schema吗?

#JSON スキーマは JSON 形式に基づく仕様で、JSON データの構造を定義するために使用されます。 JsonSchema クラスは、特定のアプリケーションに必要な JSON データのコントラクトを提供し、それと対話する方法をガイドできます。 JsonSchema では、JSON データの検証、ドキュメント化、ハイパーリンク ナビゲーション、対話型制御を定義できます。 JsonSchemaGenerator のgenerateSchema() メソッドを使用して JSON スキーマを生成できます。このクラスは、JSON スキーマ生成関数をカプセル化します。

構文

public JsonSchema generateSchema(Class<T><!--?--> type) throws com.fasterxml.jackson.databind.JsonMappingException
ログイン後にコピー

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.module.jsonSchema.JsonSchema;
import com.fasterxml.jackson.module.jsonSchema.JsonSchemaGenerator;
import java.util.List;
public class JSONSchemaTest {
   public static void main(String[] args) throws JsonProcessingException {
      ObjectMapper jacksonObjectMapper = new ObjectMapper();
      JsonSchemaGenerator schemaGen = new JsonSchemaGenerator(jacksonObjectMapper);
      JsonSchema schema = schemaGen.generateSchema(Person.class);
      String schemaString = jacksonObjectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(schema);
      System.out.println(schemaString);
   }
}
// Person class
class Person {
   private String name;
   private int age;
   private List<String> courses;
   private Address address;
   public String getName() {
      return name;
   }
   public int getAge(){
      return age;
   }
   public List<String> getCourse() {
      return courses;
   }
   public Address getAddress() {
      return address;
   }
}
// Address class
class Address {
   private String firstLine;
   private String secondLine;
   private String thirdLine;
   public String getFirstLine() {
      return firstLine;
   }
   public String getSecondLine() {
      return secondLine;
   }
   public String getThirdLine() {
      return thirdLine;
   }
}
ログイン後にコピー

出力

{
   "type" : "object",
   "id" : "urn:jsonschema:Person",
   "properties" : {
      "name" : {
         "type" : "string"
      },
      "age" : {
         "type" : "integer"
      },
      "address" : {
         "type" : "object",
         "id" : "urn:jsonschema:Address",
         "properties" : {
            "firstLine" : {
               "type" : "string"
            },
            "secondLine" : {
               "type" : "string"
            },
            "thirdLine" : {
               "type" : "string"
            }
         }
      },
      "course" : {
         "type" : "array",
         "items" : {
            "type" : "string"
         }
      }
   }
}
ログイン後にコピー

以上がJSON スキーマは Java で Jackson を使用してサポートされていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート