Formato JSON en PHP
JSON es un formato para almacenar datos. Este formato se utiliza a menudo para intercambiar datos entre sitios web, o entre el servidor y el navegador. Este formato es más compacto y simple en comparación con XML, por lo que actualmente se utiliza mucho más.
El acrónimo JSON significa JavaScript Object Notation. El caso es que originalmente JSON fue ideado en el lenguaje JavaScript, pero ahora se utiliza en todas partes.
Desde el punto de vista de PHP, los datos en formato JSON se representan como una cadena:
<?php
$str = '
// aquí irá el JSON
';
?>
El formato en sí es una
estructura multidimensional, que consiste
en arrays normales y asociativos.
Los elementos de los arrays pueden ser cadenas
obligatoriamente entre comillas dobles, números,
valores true, false
o null.
Veamos algunos ejemplos. Hagamos un array con números:
<?php
$str = '[1, 2, 3, 4, 5]';
?>
Hagamos un array con cadenas:
<?php
$str = '["a", "b", "c"]';
?>
Hagamos un array con contenido mixto:
<?php
$str = '[1, "a", true, false, null]';
?>
Ahora hagamos un array asociativo. En términos de JavaScript, estos arrays se llaman objetos. Los objetos se encierran entre llaves, y las claves se separan de los valores con dos puntos. Además, las claves de dichos arrays deben ser cadenas obligatoriamente entre comillas dobles. Hagamos un ejemplo de objeto:
<?php
$str = '{
"a": 1,
"b": 2,
"c": 3
}';
?>
Se pueden combinar arrays y objetos en estructuras de cualquier nivel de anidamiento:
<?php
$str = '{
"a": [1, 2, 3],
"b": [4, 5, 6]
}';
?>
Tenga en cuenta que las comas finales después del último elemento en el formato JSON no están permitidas:
<?php
$str = '[
"a",
"b",
"c",
]'; // la última coma sobra
?>
Convierta la siguiente estructura de PHP a una cadena JSON:
<?php
$data = [1, 2, 3];
?>
Convierta la siguiente estructura de PHP a una cadena JSON:
<?php
$data = ['x', 'y', 'z',];
?>
Convierta la siguiente estructura de PHP a una cadena JSON:
<?php
$data = [
'x' => 'a',
'y' => 'b',
'z' => 'c',
];
?>
Convierta la siguiente estructura de PHP a una cadena JSON:
<?php
$data = [
'ru' => ['1', '2', '3'],
'en' => ['a', 'b', 'c'],
];
?>