在json結果中序列化? 如何在json結果中序列化或字段接口。我使用com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(obj)。使用com.fasterxml.jackson.databind.ObjectMapper序列化接口字段
未示出該接口字段JSON結果
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
@JsonSubTypes({
@Type(value = TranslateEN.class, name = "en"),
@Type(value = TranslatePT.class, name = "pt")
})
public interface ITranslate extends Serializable {
String app = "Anota Ai";
}
@XmlRootElement
public final class TranslatePT implements ITranslate {
private static final long serialVersionUID = 1L;
private static TranslatePT instance;
private TranslatePT() {
super();
}
static {
instance = new TranslatePT();
}
public static TranslatePT getInstance() {
return instance;
}
public final Message message = new Message();
public final Entidade entidade = new Entidade();
final static class Message {
public final String defultError = "Erro inesperado";
}
final static class Login {
public final String forbidden = "Sessão expirada, favor efetuar o login novamente.";
public final String confirmacaoSenha = "A senha não confere com a confirmação de senha. Informe novamente.";
}
final static class Entidade {
public final EntidadeDeletada editada = new EntidadeDeletada();
}
final static class EntidadeDeletada {
public final String sucesso = "{0} editada com sucesso.";
}
}
public class MessageSerialize {
@Test
public void loadHtmlFileTest() throws IOException {
ObjectMapper objectMapper = new ObjectMapper();
TranslatePT instanceTranslate = TranslatePT.getInstance();
String dtoAsString = objectMapper.writeValueAsString(instanceTranslate);
Assert.assertNotNull(dtoAsString);
}
}
//result of serialization
{"type":"pt","message":{"defultError":"Erro inesperado"},"entidade":{"editada":{"sucesso":"{0} editada com sucesso."}}}
不錯的解決方法馬諾斯。 –