Comme indiqué aquí Je sais que je peux convertir des objets Java en JSON (avec Jackson).
ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
String json = ow.writeValueAsString(objectToBeConverted);
Je sais que je peux exclure des champs de la chaîne JSON à l'aide de l'attribut @JsonIgnore
mais que faire si je veux convertir la même classe en JSON plusieurs fois, mais en choisissant à chaque fois des champs différents à ignorer ?
Par exemple, si j'ai une classe
class Foo {
int a;
int b;
...
}
Je peux faire quelque chose comme
Foo foo = new Foo();
String json1 = ow.writeValueAsString(foo).excludeField('b');
String json2 = ow.writeValueAsString(foo).excludeField('a');
de sorte que les chaînes de caractères résultantes ressemblent à
// json1
{
a: 1234
}
// json2
{
b: 5678
}
Si Jackson ne peut pas le faire, peut-être que Gson le pourra ? Ou une autre bibliothèque ?