Foros del Web » Programando para Internet » PHP »

Problema con JSON decode

Estas en el tema de Problema con JSON decode en el foro de PHP en Foros del Web. Hola!. Una vez más acudo a Forosdelweb para solucionar una duda que tengo. Es un problema con un decode de datos de json. Me devuelve ...
  #1 (permalink)  
Antiguo 20/09/2011, 14:32
Avatar de Soir  
Fecha de Ingreso: marzo-2011
Mensajes: 40
Antigüedad: 13 años, 1 mes
Puntos: 1
Problema con JSON decode

Hola!.

Una vez más acudo a Forosdelweb para solucionar una duda que tengo.

Es un problema con un decode de datos de json. Me devuelve el dato: NULL, he estado mirando por Google y por aquí, por el foro y no encuentro ninguna manera de "jugar" con las strings.

Me vendría muy bien una ayuda.
Os pongo un ejemplo del código:

Éste lo utilizo para el encode, saco los datos de un archivo:

Código PHP:
    //fclose($fileopen); 
    
$encoded base64_decode($fordecode);
    echo 
$encoded
Los datos "encode", por ejemplo, me devuelve algo así, por línea:
Código PHP:
{"bag":1002,"slot":2,"entry":"44452","gem1":"0","chant":"0","unk3":"0","count":1,"lvl":"80","unk2":"0","unk1":"0","gem3":"0","gem2":"0"},"1003:12"
Éste lo utilizo como decode: (Es el que me devuelve NULL)

Código PHP:
echo ("Decode:");
    
$json var_dump(json_decode($encodedtrue));
    
print_r$json); 
¿Alguna aclaración? He mirado lo de las strings, pero no se como aplicarlo a ese código.
  #2 (permalink)  
Antiguo 20/09/2011, 14:35
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 4 meses
Puntos: 51
Respuesta: Problema con JSON decode

Podés poner el verdadero código json que te genera json_encode?

Estás manejando datos utf8? Podés probar usando el decode así:

Código PHP:
Ver original 
  #3 (permalink)  
Antiguo 20/09/2011, 14:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con JSON decode

Esta está bastante mal aquí.
Código PHP:
// MAL
$json var_dump(json_decode($encodedtrue))

// BIEN
$json json_decode($encodedtrue
Me pregunto si lees el manual de las funciones que usas, o solo las usas por puro placer.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 20/09/2011, 15:22
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Problema con JSON decode

Para mí el error está aquí },"1003:12":

Porqué está fuera de las llaves ese 1003:12? y porque termina en dos puntos? y no tienen correctamente las comillas?

Tal vez me esté equivocando pero así me funciona:

Código PHP:
Ver original
  1. <?php
  2. $archivoJSON = '{"bag":1002,"slot":2,"entry":"44452","gem1":"0","chant":"0","unk3":"0","count":1,"lvl":"80","unk2":"0","unk1":"0","gem3":"0","gem2":"0","1003":"12"}';
  3. $tu_array = json_decode($archivoJSON, true);
  4. print_r($tu_array);

Edit: Depurando el JSON con json_last_error() me da esto:

- Error de sintaxis, JSON mal formado

así que debo tener razón. Saludos
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Última edición por andresdzphp; 20/09/2011 a las 15:30

Etiquetas: decode, json
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 23:41.