Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/06/2011, 10:02
Avatar de America|UNK
America|UNK
 
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 17 años, 5 meses
Puntos: 56
Respuesta: Deserializar un string con JS

Código Javascript:
Ver original
  1. String.prototype.deserializar = function(){
  2.     var encuentra = this.match(/\w+(\[(\w+)?\])?=([\w\d]+)/g), i, l
  3.     var obj = new Array(), old
  4.     for(i=0,l=encuentra.length;i<l;i++){
  5.         var Var = encuentra[i].split(/=/)
  6.         Var[0] = Var[0].replace(/\W+/g,"")
  7.         if(old == Var[0]){
  8.             if(typeof(obj[Var[0]]) != 'object')
  9.                 obj[Var[0]] = [obj[Var[0]]]
  10.             obj[Var[0]].push(Var[1])
  11.         }else{
  12.             old = Var[0]
  13.             obj[Var[0]] = Var[1]
  14.         }
  15.     }
  16.     return obj;
  17. }
  18.  
  19. var texto = "a[]=1&a[]=2&a[]=3&a[]=5&country=PE&otravariable=2011";
  20. var Arr = texto.deserializar();
  21.  
  22. alert(Arr['a'].length) // 4
  23. alert(Arr['a'][0]) // 1
  24. alert(Arr['a'][3]) // 5
  25. alert(Arr['country']) // PE
  26. alert(Arr['otravariable']) // 2011
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */