salut,j'utilise la librairie jackson pour transformer une chaine de caractère 'String" en une collection de type Map. je suis confronté au problème ci-dessous au cours de la transformation.
com.fasterxml.jackson.core.JsonParseException: Unexpected character ('d' (code 100)): was expecting double-quote to start field name
at [Source: (String)"{data_list=true, result_type=logic, text_1=true, text_0=false, lv=0.0, units=, acc_ignore=false, type=acc, hv=0.0, popup=true, dictionary={}, param=io1, name=state acc, imei=xxxxxxxxxxxx, formula=, calibration={}}"; line: 1, column: 3]
at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1840)
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:712)
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:637)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleOddName(ReaderBasedJsonParser.java:1781)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextFieldName(ReaderBasedJsonParser.java:932)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer._readAndBindStringKeyMap(MapDeserializer.java:500)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:364)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:29)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4202)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3205)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3188)
voici la configuration de mon objet qui sert a decoder le json
public Tools() { this.objectMapper = new ObjectMapper(); this.objectMapper.configure(Feature.ALLOW_SINGLE_QUOTES, true); this.objectMapper.configure(DeserializationFeature.FAIL_ON_NULL_FOR_PRIMITIVES, false); this.objectMapper.configure(DeserializationFeature.FAIL_ON_NUMBERS_FOR_ENUMS, false); this.objectMapper.enable(SerializationFeature.INDENT_OUTPUT); }
comment resoudre mon probleme ?
- Edité par beza88 14 novembre 2019 à 15:10:08
A Vaincre sans péril on finit par triompher sans gloire -> le Cid de corneille
Visiblement, tu a dans ton JSON un 'd' au lieu d'un "d". Le message d'erreur t'indique que les noms des champs doivent être écrit entre double-quotes. Pas entre simple-quotes.
Il nous faudrait plus d'informations concernant le JSON que tu essai de dé-sérialiser.
Bonne journée.
printf("Les rudiments de la programmation ? Nan mais Hello quoi !");
decodage json avec jackson
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.