XML en JSON avec GSON cas element null ou non
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 :
Code:
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 WARNING_CONDITION_LIST :
Code:
1 2 3
| @SerializedName(value = "warningConditionList")
@JsonAdapter(EmptyStringAsNullTypeAdapter.class)
WarningConditionList warningConditionList; |
Classe WarningConditionList :
Code:
1 2
| @SerializedName(value = "warningCondition")
String warningCondition; |
Un exemple de la structure du code XML avec un element est comme suit :
Code:
1 2 3 4 5
| <WARNING_CONDITION_LIST>
<warningConditionList>
<warningCondition>INK_WF_COND_EMPTY</warningCondition>
</warningConditionList>
</WARNING_CONDITION_LIST> |
Et sans l'element est comme suit :
Code:
1 2 3
| <WARNING_CONDITION_LIST>
<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
Je tourne au rond depuis quelque jours , comment recuperer la liste en cas de presence de l'element ?
Merci