I am trying to deserialize a message and I am getting an exception for the below statement.
Object key = gson.fromJson("40280381-3d27-5493-013d-4be146935c5c_abcdefg/ijklmnop", Class.forName("java.lang.String"));
The exception is occurring due to the /
in the string value, if I remove the forward slash this code is working fine. But I do need the /
in the string value, please help me out in this.
Actual Method
private void fillTheMap(JsonParser jp, Map<Object, Object> map) {
JsonToken jt = jp.nextToken();
while ((jt = jp.nextToken()) != JsonToken.END_ARRAY) {
// Get the key.
jt = jp.nextToken();
String keyTypeName = jp.getCurrentName();
keyTypeName = keyTypeName.replace(":mapKey", "");
Class keyType = Class.forName(keyTypeName);
jt = jp.nextToken();
Object key = gson.fromJson(jp.getText(), keyType);
Object value = deSerIze(jp);
map.put(key, value);
jt = jp.nextToken();
}
}
Exception
com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON