Ne peut pas désérialiser instance de java.util.Liste de tableaux de VALUE_STRING jeton
J'ai regardé sur d'autres post dans le débordement de la pile, mais aucun d'eux ne fonctionne pour moi. Voici le morceau de code:
public class Forward implements Serializable {
private List<String> freq;
public List<String> getFreq() {
System.out.println("Print Freq::: --> " + freq);
return freq;
}
public void setFreq(List<String> freq) {
this.freq = freq;
}
}
La chaîne JSON est:
{"forward":[{"freq":"78000000"}]}
Mon mappeur:
ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
String jsonString = mapper.writeValueAsString(result);
Si je retirer de la Liste de la fréquence et de changer de Chaîne freq, il fonctionne, mais mon JSON peut contenir un ou plusieurs freq j'ai donc besoin de créer une Liste.J'obtiens une exception, comme:
Can not deserialize instance of java.util.ArrayList out of VALUE_STRING token at [Source: org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream
Vous devez vous connecter pour publier un commentaire.
DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY
fonctionne très bien pour désérialiser"freq":"78000000"
fragment en tant que valeur deList<String> freq
liste.Mais vous avez un autre problème: votre
json
contient explicite de la matrice deforward
. Pour désérialiser l'ensemble de cejson
vous avez besoin d'avoir une sorte de classe wrapper, dire:Dans ce cas
sera désérialiser parfaitement.