Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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 \