Foros del Web » Programando para Internet » PHP »

Tratar datos JSON en PHP

Estas en el tema de Tratar datos JSON en PHP en el foro de PHP en Foros del Web. Hola muy buenas a todos, seré breve, tengo un javascript que me genera una estructura JSON tal como esta: Código HTML: [ {idcorreo:'60',correo:'[email protected]',fecha_alta:'0000-00-00 00:00:00',mailing:'true'}, {idcorreo:'59',correo:'[email protected]',fecha_alta:'0000-00-00 ...
  #1 (permalink)  
Antiguo 13/02/2008, 16:17
pr0
 
Fecha de Ingreso: marzo-2004
Mensajes: 687
Antigüedad: 20 años, 1 mes
Puntos: 28
De acuerdo Tratar datos JSON en PHP

Hola muy buenas a todos,
seré breve, tengo un javascript que me genera una estructura JSON tal como esta:
Código HTML:
[
{idcorreo:'60',correo:'[email protected]',fecha_alta:'0000-00-00 00:00:00',mailing:'true'},
{idcorreo:'59',correo:'[email protected]',fecha_alta:'0000-00-00 00:00:00',mailing:'true'}
]
Esta estructura la recojo en una pagina PHP donde la decodifico con:
Código PHP:
$valores stripslashes($_POST[data]);
var_dump(json_decode($valores,true)); 
pero despues no se como acceder a los datos del objeto que me crea la decodificacion del JSON.

He probado con:
Código PHP:
$id $valores['idcorreo'];
$correo $valores['correo'];
$mailing $valores['mailing']; 
pero no me funciona. ¿Que estoy haciendo mal?

Gracias y saludos!
  #2 (permalink)  
Antiguo 13/02/2008, 16:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Tratar datos JSON en PHP

Por lo que veo es un array multidimensional asi que prueba asi:
Código PHP:
$valores stripslashes($_POST['data']);
$decoded json_decode($valores,true);

$id $decoded[0]['idcorreo']; 
Saludos.
  #3 (permalink)  
Antiguo 13/02/2008, 17:12
pr0
 
Fecha de Ingreso: marzo-2004
Mensajes: 687
Antigüedad: 20 años, 1 mes
Puntos: 28
Re: Tratar datos JSON en PHP

Muchisimas gracias GatorV!!

nunca llegue a controlar bien el tema de los arrays multidimensionales.
Solo una dudita mas por favor.

El caso es que el valor del parametro mailing cuando me llega del JSON tiene 2 posibles valores, true o false que son los valores que guardo en la base de datos.
El problema es que cuando lo decodifico en PHP el $mailing = $decoded[0]['mailing']; me da 1 o 0 en lugar del true o false.

¿A que se puede deber esto?
¿Existe alguna forma de saber cuantos idcorreo me han llegado? (necesito hacer un update de cada uno de ellos)

Gracias de nuevo, eres un maestro
  #4 (permalink)  
Antiguo 13/02/2008, 17:39
 
Fecha de Ingreso: junio-2007
Ubicación: por ahi
Mensajes: 262
Antigüedad: 16 años, 10 meses
Puntos: 4
Re: Tratar datos JSON en PHP

el true o el false son constantes de PHP que representan un valor numerico. Por estandar de los lenguajes de programacion 0 es FALSE y Verdadero es 1 o un valor diferente.

Si lo que requieres es que aparesca una cadena de texto con TRUE o FALSE lo mejor seria un if y asignarle la cadena de texto segun el caso que corresponda.
  #5 (permalink)  
Antiguo 13/02/2008, 17:49
pr0
 
Fecha de Ingreso: marzo-2004
Mensajes: 687
Antigüedad: 20 años, 1 mes
Puntos: 28
Re: Tratar datos JSON en PHP

muchas gracias hernandos por la aclaracion, lo hice como digiste y va perfecto.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:09.