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 중국어 웹사이트의 기타 관련 기사를 참조하세요!