Foros del Web » Programando para Internet » PHP »

Preservar orden en array al codificar/decodificar JSON

Estas en el tema de Preservar orden en array al codificar/decodificar JSON en el foro de PHP en Foros del Web. Buenas, según parece, las funciones json_encode y json_decode de PHP no me mantienen el orden de los elementos de un array asociativo (claves de tipo ...
  #1 (permalink)  
Antiguo 11/08/2012, 04:27
 
Fecha de Ingreso: agosto-2010
Mensajes: 128
Antigüedad: 13 años, 8 meses
Puntos: 2
Preservar orden en array al codificar/decodificar JSON

Buenas,

según parece, las funciones json_encode y json_decode de PHP no me mantienen el orden de los elementos de un array asociativo (claves de tipo string).

¿Sabéis alguna solución a este problema?

Gracias
  #2 (permalink)  
Antiguo 11/08/2012, 13:16
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Preservar orden en array al codificar/decodificar JSON

Muestra lo que tienes y veamos si tienes razón, yo también he trabajado con JSON+PHP y jamás me ha pasado como dices.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 11/08/2012, 18:45
Avatar de pedgarc  
Fecha de Ingreso: agosto-2012
Ubicación: México
Mensajes: 3
Antigüedad: 11 años, 8 meses
Puntos: 1
Respuesta: Preservar orden en array al codificar/decodificar JSON

No debería de dar problemas, al menos yo nunca he tenido ese tipo de inconveniente.

Prueba con el siguiente código simple.

Código PHP:
<?php
    $assoc_array 
= array(
        
'tipo' => 'Computadora portatil',
        
'producto' => 'Laptop',
        
'precio' => '$120 USD'
    
);

    echo 
'<pre>';
    
print_r($assoc_array);
    
print_r(json_encode($assoc_arraytrue));
    echo 
'</pre>';
?>
Espero que te sirva.

Saludos!

Última edición por pedgarc; 11/08/2012 a las 18:50

Etiquetas: json, orden
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 07:15.