Java 当我们没有';我没有访问源类的权限
我只想将对象的部分转换为JSON。我不能直接访问代码(我不能修改它),所以我必须使用mixin(我想) 现在我要做的是: main.javaJava 当我们没有';我没有访问源类的权限,java,jackson,Java,Jackson,我只想将对象的部分转换为JSON。我不能直接访问代码(我不能修改它),所以我必须使用mixin(我想) 现在我要做的是: main.java ObjectMapper marshaller = new ObjectMapper(); marshaller.setVisibility( new VisibilityChecker.Std( JsonAutoDetect.Visibility.NONE, JsonAutoDetect.Visibility.N
ObjectMapper marshaller = new ObjectMapper();
marshaller.setVisibility(
new VisibilityChecker.Std(
JsonAutoDetect.Visibility.NONE,
JsonAutoDetect.Visibility.NONE,
JsonAutoDetect.Visibility.NONE,
JsonAutoDetect.Visibility.NONE,
JsonAutoDetect.Visibility.NONE
)
);
marshaller.addMixIn(FirstClass.class, FirstClassMixin.class);
marshaller.addMixIn(SecondClass.class, SecondClassMixin.class);
public interface FirstClassMixin {
@JsonProperty
@JsonUnwrapped
SecondClass getSecondClass();
}
public interface SecondClassMixin {
@JsonProperty("name")
String getName();
}
FirstClassMixin.java
ObjectMapper marshaller = new ObjectMapper();
marshaller.setVisibility(
new VisibilityChecker.Std(
JsonAutoDetect.Visibility.NONE,
JsonAutoDetect.Visibility.NONE,
JsonAutoDetect.Visibility.NONE,
JsonAutoDetect.Visibility.NONE,
JsonAutoDetect.Visibility.NONE
)
);
marshaller.addMixIn(FirstClass.class, FirstClassMixin.class);
marshaller.addMixIn(SecondClass.class, SecondClassMixin.class);
public interface FirstClassMixin {
@JsonProperty
@JsonUnwrapped
SecondClass getSecondClass();
}
public interface SecondClassMixin {
@JsonProperty("name")
String getName();
}
SecondClass.java
ObjectMapper marshaller = new ObjectMapper();
marshaller.setVisibility(
new VisibilityChecker.Std(
JsonAutoDetect.Visibility.NONE,
JsonAutoDetect.Visibility.NONE,
JsonAutoDetect.Visibility.NONE,
JsonAutoDetect.Visibility.NONE,
JsonAutoDetect.Visibility.NONE
)
);
marshaller.addMixIn(FirstClass.class, FirstClassMixin.class);
marshaller.addMixIn(SecondClass.class, SecondClassMixin.class);
public interface FirstClassMixin {
@JsonProperty
@JsonUnwrapped
SecondClass getSecondClass();
}
public interface SecondClassMixin {
@JsonProperty("name")
String getName();
}
这很好,但是如果我继续添加类,例如SecondClass
hasThirdClass
和ThirdClass
hasForthClass
我就必须继续添加文件。对于大型类,这种情况会发生多次,并且无法直接从FirstClass
访问ForthClass
有没有办法压缩FirstClassMixin.java
中的所有内容