tarifas:
Eu tenho duas classes: Player
e Match
.
Player
tem dois campos, playerId
e name
ao mesmo tempo Match
contém dois Player
objetos e matchId
também.
Quando eu serialise Player
Eu quero o id eo nome a aparecer no JSON, no entanto, quando eu serialise Match
eu recebo matchId
e Player
'campos de non transitórios e seus respectivos valores, embora eu gostaria de obter apenas Player
' s ids
.
Como posso fazer isso com Gson?
Agradecemos antecipadamente e ficar seguro. Fares
Jason:
Você pode usar a anotação @Expose de Gson apenas para expor nesse campo. Você terá que construir o seu objeto Gson chamando a função GsonBuilders excludeFieldsWithoutExposeAnnotation ().
class Player {
@Expose
private final int id;
//constructor, etc
}
Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();