...
If you are working with JSON, return messages can contain characters that are not recognised in PhixFlow. The following macro escapes these invalid characters.
Code Block |
---|
do(
$value = $args[1],
$value = replaceAll( $value , "\b","\\\\b"),
$value = replaceAll( $value , "\f","\\\\f"),
$value = replaceAll( $value , "\t","\\\\t"),
$value = replaceAll( $value , "\r","\\\\r"),
$value = replaceAll( $value , "\n","\\\\n"),
$value = replaceAll( $value , "\\\\","\\\\\\\\"),
$value = replaceAll( $value , '"','\\\\"')
)
|
Note: JSON Code can also include characters that cannot be written to the UTF-8 database such as Emojis which are 4 bit characters. This may be solved in the future by migrating the database to UTF-8mb4 but in the mean time, invalid characters can be avoided using the following regular expression:
replaceAll(JSON Code,"[^\\p{Space}0-9A-Za-z!:\"%&\\[*()\\],-/_\\\\{}\\.]","")
The expression contains a list of expected characters to be found in JSON files. Note how back slashes are used to escape special characters such as [] , . and \