DEFAULT_JSON_FLAGS
DEFAULT_JSON_FLAGS = JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_PRESERVE_ZERO_FRACTION | JSON_INVALID_UTF8_SUBSTITUTE | JSON_PARTIAL_OUTPUT_ON_ERROR
jsonEncode(mixed $data, int $encodeFlags = null, bool $ignoreErrors = false) : string
Return the JSON representation of a value
| mixed | $data | |
| int | $encodeFlags | flags to pass to json encode, defaults to DEFAULT_JSON_FLAGS |
| bool | $ignoreErrors | whether to ignore encoding errors or to throw on error, when ignored and the encoding fails, "null" is returned which is valid json for null |
if encoding fails and errors are not ignored
when errors are ignored and the encoding fails, "null" is returned which is valid json for null
handleJsonError(int $code, mixed $data, int $encodeFlags = null) : string
Handle a json_encode failure.
If the failure is due to invalid string encoding, try to clean the input and encode again. If the second encoding attempt fails, the initial error is not encoding related or the input can't be cleaned then raise a descriptive exception.
| int | $code | return code of json_last_error function |
| mixed | $data | data that was meant to be encoded |
| int | $encodeFlags | flags to pass to json encode, defaults to JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_PRESERVE_ZERO_FRACTION |
if failure can't be corrected
JSON encoded data after error correction
detectAndCleanUtf8(mixed $data) : void
Detect invalid UTF-8 string characters and convert to valid UTF-8.
Valid UTF-8 input will be left unmodified, but strings containing invalid UTF-8 codepoints will be reencoded as UTF-8 with an assumed original encoding of ISO-8859-15. This conversion may result in incorrect output if the actual encoding was not ISO-8859-15, but it will be clean UTF-8 output and will not rely on expensive and fragile detection algorithms.
Function converts the input in place in the passed variable so that it can be used as a callback for array_walk_recursive.
| mixed | $data | Input to check and convert if needed, passed by ref |