JSON significa Notación de objetos de JavaScript. Al igual que XML, es un formato basado en texto para el intercambio de datos que es más fácil de leer y escribir y es más ligero que otros formatos. JSON se basa en dos estructuras básicas, a saber, objetos y arrays.
Análisis de datos JSON en PHP: hay funciones integradas en PHP para codificar y decodificar datos JSON. Estas funciones son json_encode() y json_decode() . Estas funciones solo funcionan con strings codificadas en UTF-8.
Decodificación de datos JSON en PHP: es muy fácil decodificar datos JSON en PHP. Solo tiene que usar la función json_decode() para convertir objetos JSON al tipo de datos PHP apropiado.
Ejemplo: De forma predeterminada, la función json_decode() devuelve un objeto. Opcionalmente, puede especificar un segundo parámetro que acepte un valor booleano. Cuando se establece como «verdadero», los objetos JSON se decodifican en arrays asociativas .
PHP
<?php $student_data = '{"Ram":96,"Prashant":76,"Varun":65,"Mark":34}'; // Decoding above JSON String into JSON object $decoded = json_decode($student_data); // Dump the $decoded variable var_dump($decoded); ?>
Producción:
Codificación de datos JSON en PHP: Codificar datos JSON es tan fácil como codificar datos JSON en PHP. Usamos la función json_encode() , los datos que se codifican pueden ser de cualquier tipo de datos PHP excepto un recurso como un identificador de archivo.
Ejemplo 1: El siguiente código demuestra la codificación de una array asociativa de PHP.
PHP
<?php // PHP associative array $student_data = array( "Ram"=>96, "Prashant"=>76, "Varun"=>65, "Mark"=>34 ); // Encoding PHP Associative array using json_encode() $encoded = json_encode($student_data); // Echo the data echo $encoded; ?>
Producción:
{"Ram":96,"Prashant":76,"Varun":65,"Mark":34}
Ejemplo 2: el siguiente código demuestra la codificación de una array indexada de PHP.
PHP
<?php // PHP associative array $students = array("Ram", "Prashant", "Varun", "Mark"); // Encoding PHP Associative array using json_encode() $encoded = json_encode($students); // Echo the data echo $encoded; ?>
Producción:
["Ram","Prashant","Varun","Mark"]