Função php json_decode

Função php json_decode
PHP tem duas funções internas para trabalhar com os dados JSON. Estes são JSON_ENCODE () e json_decode () funções. A função JSON_ENCODE () é usada para codificar os dados JSON e a função json_decode () é usada para decodificar os dados JSON codificados. Esta função cria um objeto PHP de um objeto JSON. Os diferentes usos da função json_decode () são mostrados neste tutorial.

Sintaxe:
JSON_DECOD mistoe (string $ json, bool $ associativo = null, int $ profundidade = 512, int $ flags = 0)

Esta função tem quatro argumentos. O primeiro argumento é obrigatório e os outros argumentos são opcionais. Os propósitos desses argumentos são descritos no seguinte:

  • $ json: ele contém os dados JSON que são decodificados e suporta apenas a string codificada UTF-8.
  • $ Associstive: ele contém um valor booleano. Se o valor desse argumento for definido, a função retornará uma matriz associativa do objeto JSON. Se o valor desse argumento for definido como false, a função retornará um objeto.
  • $ profundidade: é usado para definir a profundidade aninhada da estrutura que é decodificada. O valor desse argumento está entre 1 a 2147483647.
  • $ flag: ele contém o bitmask de json_bigint_as_string, json_invalid_utf8_ignore, json_invalid_utf8_substitute, json_object_as_array, json_throw_on_error.

O valor JSON codificado do tipo PHP é retornado por esta função se os dados codificados estiverem dentro da profundidade aninhada. Caso contrário, a função retorna nulo.

Exemplos diferentes da função JSON_ENCODE ()

Os diferentes usos da função JSON_ENCODE () são mostrados nesta parte do tutorial usando vários exemplos.

Exemplo 1: Converter dados JSON simples em uma matriz PHP

Crie um arquivo PHP com o seguinte script que converte o objeto JSON em um objeto PHP e uma matriz PHP usando a função JSON_DECODE0. Quando a função json_decode () é usada com um argumento, o objeto JSON é convertido em um objeto PHP. Quando a função json_decode () é usada com os dois primeiros argumentos, o objeto JSON é convertido em uma matriz PHP. Um objeto JSON com dados JSON simples de cinco propriedades é usado neste exemplo.

// Declare uma corda JSON simples
$ jsondata = '"01": "livro", "02": "caneta", "03": "lápis", "04": "rular", "05": "paper"';
// decodifica os dados JSON em um objeto PHP
eco "Os dados JSON decodificados como objeto:
";
print_r (json_decode ($ jsondata));
// decodifica os dados JSON em uma matriz PHP
eco "
Os dados JSON decodificados como matriz associativa:
";
print_r (json_decode ($ jsondata, true));
?>

Saída:

A saída a seguir aparece após a execução do script anterior:

Exemplo 2: Imprima os nomes e valores de propriedades JSON

Crie um arquivo PHP com o seguinte script que converte o objeto JSON em uma matriz PHP usando a função JSON_DECODE0. Um objeto JSON com dados JSON simples de cinco propriedades é usado neste exemplo. Em seguida, o “para cada”O loop é usado para ler e imprimir as chaves e valores da matriz PHP.

// Declare uma corda JSON simples
$ productTypes = '"T01": "HDD", "T02": "Monitor", "T03": "Mouse", "T04": "Impressora", "T05": "teclado"';
// decodifica os dados JSON em uma matriz PHP
$ phparray = json_decode ($ productTypes, true);
eco " Nome do produto ID
";
// Imprima os elementos da matriz associativa usando o loop
foreach ($ phparray como $ index => $ valor)

eco $ index."".$ valor."
";

?>

Saída:

A saída a seguir aparece após a execução do script anterior:

Exemplo 3: Pesquise a propriedade JSON específica

Crie um arquivo PHP com o seguinte script que converte o objeto JSON em uma matriz PHP e o valor de ID específico será pesquisado na matriz. Se o valor existir na matriz, os outros valores correspondentes serão impressos. Aqui, o valor de identificação de pesquisa é retirado do parâmetro URL.

// declarar um objeto json de mais de uma profundidade
$ CustomerData = '[
"Id": "056345", "Nome": "Mira Hossain", "Email": "[email protected] "," contact_no ":"+8801954532367 ",
"ID": "056335", "Nome": "Mohammed Abir", "Email": "[email protected] "," contact_no ":"+8801858722209 ",
"Id": "056387", "nome": "Alif Chowdhury", "Email": "[email protected] "," contact_no ":"+8801700785321 ",
"Id": "056391", "nome": "nipa roy", "email": "[email protected] "," contact_no ":"+880180006342 ",
"ID": "056395", "Nome": "Anam Ali", "Email": "[email protected] "," contact_no ":"+880159126543 "
] ';
// Crie a matriz PHP dos dados JSON
$ CustArray = JSON_DECODE ($ CustomerData, True);
// Verifique se o ID da pesquisa é fornecido no URL ou não
if (isset ($ _ get ['src'])))

// Leia o ID de pesquisa do URL
$ searchID = $ _Get ['src'];
$ encontrado = false;
// Imprima as informações do cliente do ID específico, se existe na matriz
para ($ index = 0; $ index < count($custArray); $index++)
if ($ custarray [$ index] ["id"] == $ searchid)
eco " Detalhes do cliente:
";
eco "nome:".$ CustArray [$ index] ["nome"]."
";
eco "Email".$ CustArray [$ index] ["email"]."
";
eco "Contato não:".$ CustArray [$ index] ["contact_no"]."
";
$ encontrado = true;
quebrar;


se ($ encontrado == false)
eco "o ID do cliente não existe.";

outro
eco "a identificação de pesquisa não é dada."
?>

Saída:

A saída a seguir aparece após a execução do script anterior se nenhum valor de identificação for fornecido no URL:

A saída a seguir aparece após a execução do script anterior se o valor de ID fornecido no URL existir na matriz PHP que é gerada a partir do objeto JSON:

A saída a seguir aparece após a execução do script anterior se o valor de ID fornecido no URL não existir na matriz PHP que é gerada a partir do objeto JSON:

Exemplo 4: Gere erro para o objeto JSON errado

Crie um arquivo php com o seguinte script que exibe um erro no momento da conversão do objeto JSON em um objeto PHP se o objeto JSON contiver algum erro. O objeto JSON usado neste exemplo contém um erro no valor da segunda propriedade. A citação dupla (“) está faltando para o valor da propriedade,“Caneta”.

// Declare uma corda JSON simples
$ jsondata = '"01": "livro", "02": caneta "," 03 ":" lápis "," 04 ":" rular "," 05 ":" paper "';
// decodifica os dados JSON em um objeto PHP
eco "Os dados JSON decodificados como objeto:
";
print_r (json_decode ($ jsondata));
// imprima o erro não e a mensagem de erro se existir
eco "Erro não: ".json_last_error ()."
"."Mensagem de erro: ".json_last_error_msg ()."";
?>
?>

Saída:

A saída a seguir aparece após a execução do script anterior:

Conclusão

As diferentes maneiras de analisar os dados JSON usando a função json_decode () são explicados neste tutorial usando exemplos simples. Esperamos que o objetivo de usar a função json_decode () seja liberado para os usuários do PHP depois de ler este tutorial.