J'ai un objet avec les champs suivants, que je suis en train d'analyser, provenant d'un webservice:Parsing ce hashmap bizarre imbriqué avec Gson
private String serviceGroup;
private String serviceDefinition;
private List<String> interfaces = new ArrayList<>();
private Map<String, String> serviceMetadata = new HashMap<>();
Pour une raison quelconque, le JSON a cet objet avec un format comme ceci:
"service": {
"interfaces": [
"json"
],
"serviceDefinition": "IndoorTemperature",
"serviceGroup": "Temperature",
"serviceMetadata": {
"entry": [
{
"key": "security",
"value": "token"
},
{
"key": "unit",
"value": "celsius"
}
]
}
}
la partie supplémentaire, inutile est ici ce tableau « d'entrée » au serviceMetadata hashmap. Donc quand j'essaye d'analyser le json dans mon objet avec Gson.fromJson(theString, myclass.class)
, j'obtiens une exception com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected a string but was BEGIN_ARRAY
. Que pourrais-je faire pour analyser le hashmap? Par ailleurs, le webservice utilise moxy pour marsarchiser les objets.
@anomeric Carte de clé/valeur où la valeur est Liste des objets –
grâce, il a travaillé. Je peux accepter la réponse dans 9 minutes. –