잭슨을 사용하여 일부 JSON을 Java POJO로 역 직렬화합니다. MrBean 모듈을 객체 매퍼 (object mapper)에 등록합니다. 따라서해야 할 일은 일련의 인터페이스를 정의하는 것뿐입니다. POJO는 이러한 인터페이스를 기반으로 자동 생성됩니다.잭슨 (및 MrBean)과 비 직렬화시 다형성 사용
자격증 명 인터페이스와 같이 자격증 명 인터페이스를 확장하고 싶습니다. UsernamePasswordCredentials 및 CertificateFileCredentials. 나는 또한 followed the instructions at another StackOverflow post했습니다
org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "username" (Class org.codehaus.jackson.generated.SCRUBBED.Credentials), not marked as ignorable
at [Source: [email protected]; line: 32, column: 29] (through reference chain: HostConfiguration["hostDefinitions"]->HostDefinition["credentials"]->Credentials["username"])
, 나는 같은 오류를 받고 있어요 :
이 작업 만들려고 어떤 주석이나 주술없이 이렇게하면 내 단위 테스트 나에게 다음과 같은 오류를 제공합니다.
오류는 의미가 있습니다. Jackson은 내 JSON 파일의 내용을 빈 인터페이스에 매핑하려고합니다. 그러나 필자는 Jackson이 기본 Credentials 인터페이스를 확장하는 인터페이스를 찾고 해당 인터페이스의 필드를 JSON 객체에서 찾은 필드와 일치 시키려고했습니다.
JSON 개체에서 메타 정보를 사용하는 예를 Jackson Wiki에서 보았습니다. 객체를 "@class":"foo.bar.CertificateFileCredentials"
으로 꾸미고 싶지만 JSON 입력이 다른 서비스에 의해 자동으로 생성되고 그 다른 서비스가 내 서비스의 내부에 대해 알 필요가 없으므로 그 중 하나를 피하는 것이 좋습니다.
감사합니다.