Bonjour,
J'ai un fichier xml qui peut contenir une element, ce dernier peut etre null ou peut contenir une liste d'element, pour cela, j'ai crée un TypeAdapter comme suit :
Classe WARNING_CONDITION_LIST :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 public class EmptyStringAsNullTypeAdapter extends TypeAdapter<String> { @Override public void write(JsonWriter out, String value) throws IOException { out.value(value); } @Override public String read(JsonReader in) throws IOException { if (in.peek() == JsonToken.NULL) { in.nextNull(); return null; } String result = in.nextString(); if ("".equals(result)) { return null; } return result; } }
Classe WarningConditionList :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 @SerializedName(value = "warningConditionList") @JsonAdapter(EmptyStringAsNullTypeAdapter.class) WarningConditionList warningConditionList;
Un exemple de la structure du code XML avec un element est comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 @SerializedName(value = "warningCondition") String warningCondition;
Et sans l'element est comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <WARNING_CONDITION_LIST> <warningConditionList> <warningCondition>INK_WF_COND_EMPTY</warningCondition> </warningConditionList> </WARNING_CONDITION_LIST>
Le souci que j'ai est dans l'Adapter sa me retourne pas u nString dans le cas de la presence de l'element, la valeur retournée est : BEGIN_OBJECT
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <WARNING_CONDITION_LIST> <warningConditionList /> </WARNING_CONDITION_LIST>
Je tourne au rond depuis quelque jours , comment recuperer la liste en cas de presence de l'element ?
Merci
Partager