Temas > Programacion > Java script - Java > Consumir un JSON desde PHP
Julio

Consumir un JSON desde PHP
PHP puede interpretar datos provenientes de una cadena 
con notación JSON, de modo que se puedan
guardar en variables y luego utilizarlas en los scripts del lado 
del servidor. En este articulo veremos cómo
hacerlo y además destacaremos una serie de consejos para que 
los JSON estén bien formados y consigamos una correcta 
interpretación.
Recordemos que existen diversas librerías para que podamos 
trabajar con cadenas en notación JSON.
Nosotros estamos utilizando las funciones nativas de PHP 
para JSON, que están disponibles por defecto desde PHP 5.2.
Primero vamos a mostrar un objeto definido con JSON mediante 
Javascript, para hacer unas comprobaciones y saber si está bien 
construido.
<?php //esto no va
<script>
var objJson = {
    elemento1: "valor1",
    elemento2: 22,
    elemento3: null,
    masCosas: {
         voy: "ya",
         vengo: "despues"
    }
}
alert(objJson.elemento1)
alert(objJson.masCosas.vengo)
</script>
?>//esto no va
Este script Javascript, ejecutado en un navegador, nos 
mostraría dos mensajes de alerta con valores que se han 
colocado en el objeto definido con notación JSON. Esto no 
tiene nada que ver con lo que vamos a ver sobre PHP, pero al 
menos tenemos claro que nuestro JSON es correcto.
Ahora vamos a crear una variable PHP con la cadena para hacer 
este objeto y lo cargaremos en una variable PHP interpretando 
el JSON. Para ello PHP dispone de una función llamada
 json_decode() que recibe la cadena con notación JSON y devuelve 
un objeto, o cualquier otro tipo de variable, que estuviera
representada en el JSON.
<?php
$str_obj_json = `{
    "elemento1": "valor1",
    "elemento2": 22,
    "elemento3": null,
    "masCosas": {
        "voy": "ahora",
        "vengo": "ya"
    }
}`;
$obj_php = json_decode($str_obj_json);
?>
Ahora podríamos mostrar el contenido de esa variable con 
la función de PHP print_r(), que muestra el contenido de 
variables de manera que se pueda entender por un humano.
<?php //esto no va
stdClass Object
(
    [elemento1] => valor1
    [elemento2] => 22
    [elemento3] =>
    [masCosas] => stdClass Object
    (
        [voy] => ahora
        [vengo] => ya
    )
)
?>//esto no va
Por último podemos intentar acceder a una de las propiedades 
de este objeto, de esta manera:
echo "Una propiedad cualquiera:" . $obj_php->elemento1;
Consejos para hacer un JSON que se pueda interpretar 
correctamente La función json_decode() de PHP requiere 
unas normas un poco más estrictas a la hora de construir un
JSON. Si no atendemos esas reglas no obtendremos un mensaje 
de error, sino que la función devolverá un valor nulo: null. Por tanto,
 algo que Javascript puede interpretar correctamente puede que no 
sea así por PHP, así que hay que prestar especial atención sobre una 
serie de puntos.
1) En la cadena JSON, tanto el nombre de una propiedad como el 
valor deben estar entre comillas, menos los valores numéricos, 
o palabras como null, que pueden estar sin comillas. 
Incorrecto:
$json = json_decode(`{nombre: "cualquier valor"}`);
Correcto:
$json = json_decode(`{"nombre": "cualquier valor"}`);
2) Se tienen que utilizar comillas dobles. No se permiten comillas 
simples para los nombres de variables y sus valores.
Incorrecto:
$json = json_decode("{`frutas`: [`pera`, `uva`]}");
Correcto:
$json = json_decode(`{"frutas": ["pera", "uva"]}`);
3) No podemos dejarnos una coma que después no tenga nada, 
así como un corchete o llave de más o de menos.
Incorrecto:
$json = json_decode(`{"nombre": "valor", }`);
Correcto:
$json = json_decode(`{"nombre": "valor"}`);
4) Tenemos que enviar los datos a json_decode() en UTF-8. Si 
estamos trabajando en iso-8859-1, habría que codificar la cadena 
en UTF-8 previamente:
Incorrecto:
$json = json_decode(`{"mañana": "miércoles"}`);
Correcto:
$json = json_decode(utf8_encode(`{"mañana": "miércoles"}`));













¿Has olviado tu contraseña?

Pulsa aquí para registrate




Google






LunMarMieJueVieSabDom
 123456
78910111213
14151617 181920
21222324252627
282930    

Viernes 18 de Abril 2025
Semana 16



Java script - Java


-Input type submit con evento onclick
-Maneras de salir de un iframe con java script
-Sintaxis de un list array en java
-Producir JSON desde PHP
-Mostrar un tooltip con datos recuperados en jQuery
-Menu desplegable en jQuery
-Llamadas encadenadas de metodos del objeto jQuery
-Funcion ajax en jQuery
-JSON en jQuery
-Pasando datos por los metodos GET y POST en jQuery
-Ajax metodos ajaxStart y ajaxStop en jQuery
-Ajax metodo load en jQuery
-Iteracion por los elementos each en jQuery
-Efecto con el metodo toggle en jQuery
-Efecto con el metodo fadeTo en jQuery
-Efectos con los metodos fadeIn y fadeOut en jQuery
-Efectos con los metodos show y hide en jQuery
-Manipulacion de los elementos del DOM en jQuery
-Evento blur en jQuery
-Evento focus en jQuery
-Evento dblclick en jQuery
-Eventos mousedown y mouseup en jQuery
-Evento mousemove en jQuery
-Evento hover en jQuery
-Eventos mouseover y mouseout en jQuery
-Administracion de eventos con jQuery
-Metodos html y html valor en jQuery
-Metodos addClass y removeClass en jQuery
-Metodos attr y removeAttr en jQuery
-Metodos text, text valor en jQuery
-Seleccion de elementos con la clase CSS definida
-Seleccion de elementos utilizando el selector CSS
-Seleccion de elementos por el tipo de elementos jQ
-Seleccion de un elemento mediante el id jQuery
-Nueva manera de programar JavaScript con jQuery
-Que es el jQuery
-Archivo JavaScript externo
-Propiedad screen del objeto window en java script
-Propiedad location de objeto window en java script
-El objeto window en java script
-Eventos onMouseOver y onMouseOut en java script
-Eventos onFocus y onBlur en java script
-Control TEXTAREA en java script
-Control RADIO en java script
-Control CHECKBOX en java script
-Control SELECT en java script
-Control PASSWORD en java script
-Controles FORM, BUTTON y TEXT en java script
-Formularios y Eventos en java script
-Clase Math en java script
-Clase String en java script
-Clase Array en java script
-Clase Date en java script
-Programacion orientada a objetos en java script
-Funciones que retornan un valor en java script
-Funciones con parametros en java script
-Funciones en java script
-Estructura repetitiva for en java script
-Estructura repetitiva do while en java script
-Concepto de acumulador en java script
-Estructura repetitiva (while) en java script
-Operadores logicos or en las estructuras java s
-Operadores logicos (and) en las estructuras java s
-Estructuras condicionales anidadas en java script
-Estructuras condicionales compuesta en jaca script
-Estructuras condicionales simples en java script
-Estructuras secuenciales en java script
-Entrada de datos por teclado en java script
-Variables en java script
-Que es JavaScript
-Lectura y escritura de archivos en java
-Entrada y salida estandar en Java
-Programa para contar vocales de un fichero en java
-Convertidor de divisas en java
-Form con una ventana nueva
-Seleccionar un elemento html mediante su id
..............................................................................................................................................................................................................................................
(Contacto)..
Esta web utiliza cookies para obtener datos estadísticos de la navegación de sus usuarios. Política de privacidad y Aviso legal