How to escape Special Characters in JSON
In your case it looks like the incoming data is malformed. It must be in an encoding supported by the JSON spec: UTF-8 (default), UTF-16, or UTF-32. So not sure if the following is applicable. Nevertheless...
For most apps I would recommend JSON to Object mapping, which will take care of the escaping. Otherwise, you can call Jackson's (the JSON library used by Mule) String escape method directly.
Here's an example that you can use in MEL. String.valueOf
is necessary because quoteAsString
returns char[]
:
<configuration> <expression-language> <import class="org.codehaus.jackson.io.JsonStringEncoder" /> <global-functions> def quoteJSONString(s) { String.valueOf(JsonStringEncoder.getInstance().quoteAsString(s)) } </global-functions> </expression-language></configuration>