J'ai une annotation et pendant son utilisation d'exécution sur une méthode, je veux le convertir 9 et toutes ses valeurs de propriété) en objet JSON.Comment convertir une annotation (toutes ses propriétés diff) en un objet JSON en utilisant Jackson/ObjectMapper?
L'annotation:
public @interface MyAnnotation {
String name();
Integer age();
}
utilisation de celui-ci:
public class MyClass {
@MyAnnotation(name = "test", age = 21)
public String getInfo()
{ ...elided... }
}
Lorsque vous utilisez la réflexion sur un objet de type MyClass
et obtenir l'annotation de sa méthode getInfo
, je voudrais pouvoir convertir l'annotation en JSON. Mais il n'y a pas de champs (puisque @interfaces ne peut pas avoir de champs), donc est-il possible de configurer un ObjectMapper
pour utiliser les méthodes comme propriétés à la place?
//This just prints {}
new ObjectMapper().writeValueAsString(method.getAnnotation(MyAnnotation.class));