I have a JSON string like this :
{
"serviceName":"Data file "%s" was deleted successfully.",
"serviceInstance":"esm-session-service"
}
I am trying to map above JSON to object using ObjectMapper as below:
Message messageObject = objectMapper.readValue(messageJson, Message.class);
Below is stack trace output:
com.fasterxml.jackson.core.JsonParseException: Unexpected character ('%' (code 37)): was expecting comma to separate Object entries
at [Source: (String)"{"serviceName":"\"Data file \""%s"serviceInstance":"esm-session-service"}r""; line: 1, column: 33]
at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1804)
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:663)
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:561)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._skipComma(ReaderBasedJsonParser.java:2271)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextFieldName(ReaderBasedJsonParser.java:892)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:295)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:151)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4001)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2992)
at com.test.json.TestJsonObjectConversion.main(TestJsonObjectConversion.java:77)
I know problem is with "%s" in the JSON, I am not able to find any way to escape quotes in only "%s".
I am expecting below JSON:
{
"serviceName":"Data file \"%s\" was deleted successfully.",
"serviceInstance":"esm-session-service"
}
Thanks in advance.