(PECL simdjson >= 2.0.0)
simdjson_is_valid — Verifica se uma string JSON é válida
Recebe uma string codificada em JSON e retorna true se for válida.
json
       A string json sendo validada.
      
Esta função só funciona com strings codificadas em UTF-8.
Esta função valida entradas que json_decode() pode decodificar, desde que tenham menos de 4 GiB de comprimento.
depth
      Profundidade máxima de aninhamento da estrutura que está sendo validada.
      O valor deve ser maior que 0,
      e menor ou igual a 2147483647.
      Os chamadores devem usar valores razoavelmente pequenos,
      porque profundidades maiores exigem mais espaço de buffer e
      aumentarão a profundidade de recursão, ao contrário da implementação atual de json_decode().
     
   Se json for maior que 4 GiB, uma SimdJsonException será lançada a partir do PECL simdjson 2.1.0,
   enquanto anteriormente, uma RuntimeException era lançada.
  
   Se depth estiver fora do intervalo permitido,
   um SimdJsonValueError será gerado a partir do PECL simdjson 3.0.0,
   enquanto anteriormente, um erro de nível E_WARNING era gerado.
  
Exemplo #1 Exemplos de simdjson_decode()
<?php
$json = '{"a":1,"b":2,"c":3}';
$invalidJson = '{"a":1,"b":2,"c":';
var_dump(simdjson_is_valid($json));
var_dump(simdjson_is_valid($invalidJson));
?>O exemplo acima produzirá:
bool(true) bool(false)
Exemplo #2 Erros de depth
<?php
// Codificando alguns dados com uma profundidade máxima de 4
// (array -> array -> array -> string)
$json = json_encode(
    [
        1 => [
            'English' => [
                'One',
                'January'
            ],
            'French' => [
                'Une',
                'Janvier'
            ]
        ]
    ]
);
// Mostra os erros para diferentes profundidades.
var_dump(simdjson_is_valid($json, 4));
var_dump(simdjson_is_valid($json, 3));
?>O exemplo acima produzirá:
bool(true) bool(false)
Nota:
A especificação JSON não é JavaScript, mas um subconjunto de JavaScript.
Nota:
Em caso de falha na decodificação, uma SimdJsonException é lançada e SimdJsonException::getCode() e SimdJsonException::getMessage() podem ser usados para determinar a natureza exata do erro.
