2014-02-07 5 views
0

FasterXML을 사용하여 JSON 스키마 파일을 생성하는 데 문제가 있습니다. "{ "개체 " "속성 " 출력 된 파일은 OtherBean 지도 및 객체 참조 용 FasterXML 스키마 생성

{ "타입 "에 대한 Map<String, String>

  • null 유형

    • object 형태를 도시 beanId ": { "유형 ":"정수 " }, "beanName ": { "유형": "문자열" }, "beanMap": { "유형": "개체" }, "otherBean"널 }}

  • 내 스키마 생성 클래스

    import java.io.File; 
    import java.io.IOException; 
    
    import com.fasterxml.jackson.databind.ObjectMapper; 
    import com.fasterxml.jackson.databind.jsonschema.JsonSchema; 
    
    public class Main { 
    
        public static void main(String[] args) throws IOException { 
    
         ObjectMapper MAPPER = new ObjectMapper(); 
    
         JsonSchema jsonSchema = MAPPER.generateJsonSchema(MyBean.class); 
    
         MAPPER.writeValue(new File("MyBeanSchema.json"), jsonSchema); 
    
        } 
    } 
    

    MyBeans : OtherBean

    import java.util.Map; 
    
    public class MyBean { 
    
        private Integer beanId; 
        private String beanName; 
        private Map<String, String> beanMap; 
        private OtherBean otherBean; 
    
        public MyBean() { 
        } 
    
        public Integer getBeanId() { 
         return beanId; 
        } 
    
        public void setBeanId(Integer beanId) { 
         this.beanId = beanId; 
        } 
    
        public String getBeanName() { 
         return beanName; 
        } 
    
        public void setBeanName(String beanName) { 
         this.beanName = beanName; 
        } 
    
        public Map<String, String> getBeanMap() { 
         return beanMap; 
        } 
    
        public void setBeanMap(Map<String, String> beanMap) { 
         this.beanMap = beanMap; 
        } 
    
        public OtherBean getOtherBean() { 
         return otherBean; 
        } 
    
        public void setOtherBean(OtherBean otherBean) { 
         this.otherBean = otherBean; 
        } 
    } 
    

    :

    public class OtherBean { 
    
    } 
    

    답변

    1

    직접 질문에 대답하지,하지만 스키마 생성은 별도의 모듈로 이동 : 더 나은 기능을 사용할 수 있습니다, 오래된 내장 세대보다 더 빨리 발전 할 수

    https://github.com/FasterXML/jackson-module-jsonSchema/

    . 가능하면 가능하면 사용해보십시오. 그리고 생성에 대한 문제 때문에이 문제에 대해 버그를 신고 할 수 있습니다.