> Java > java지도 시간 > 본문

Java에서 Jackson을 사용하면 JSON 스키마가 지원되나요?

PHPz
풀어 주다: 2023-08-20 18:01:14
앞으로
1581명이 탐색했습니다.

在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"
         }
      }
   }
}
로그인 후 복사

위 내용은 Java에서 Jackson을 사용하면 JSON 스키마가 지원되나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿