Septiembre 10, 2019, 01:14:46 AM Ultima modificación: Septiembre 10, 2019, 06:06:19 AM por kostra
tengo

var res = json_decode(result);

siendo result una string en formato json que devuelve de una tabla sql con 2 columnas, las columna "nick" y la columna "sc"
y las quiero poner en 2 arrays, por ejemplo "nicktable[n]" y "sctable[n]"
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

Según EL MANUAL, la función json_decode() devuelve un mapa con una única entrada: "default".

Dentro de dicha entrada se almacena toda la información. Si el JSON es un arreglo (lo sabes porque está escrito de la forma [a, b, c, ...]), entonces la función convierte los datos en una lista; y si el JSON es un objeto (lo sabes porque está escrito de la forma {a:b, c:d, ...}), entonces la fución convierte los datos en otro mapa.



En el caso de las consultas SQL, el JSON suele ser algo así:

[
    {
        "nick":"keponem",
        "sc":"255"
    },
    {
        "nick":"olakase",
        "sc":"78"
    },
    {
        "nick":"jejeje",
        "sc":"15"
    },
    {
        "nick":"jejejeee",
        "sc":"0"
    },
    {
        "nick":"tytyty",
        "sc":"0"
    },
    {
        "nick":"Sobako",
        "sc":"0"
    }
]


Como puedes apreciar, se trata de un arreglo "grandote" que contiene un objeto "chiquito" en cada índice, así que la función lo convertiría a algo así:



Por tanto, si quieres recorrer todos los mapas"chiquitos" que están en  la lista "grandota", entonces primero debes acceder al mapa "grandotote":
[gml]
var res = json_decode(result); //obtener mapa grandotote
var dat = res[? "default"]; //Acceder a la llave "default"  del mapa grandotote

//En dat ahora se ha guardado la lista grandota, así que ahora vamos a recorrerla

var nicktable, sctable;
var obj;
for(var i = 0; i < ds_list_size(dat); i++) {
    obj = dat[| i]; //acceder al mapa chiquito de la lista grandota ubicado en la posición i
    //guardar cada propiedad en su respectivo arreglo
    nicktable = obj[? 'nick'];
    sctable = obj[? 'sc'];
}
[/gml]

Todo se resume en leer EL MANUAL, como te dije en Discord.

PD: Debes colocar en el post el ícono de la versión de GM que estás usando.
alaberga regué el café.

BA:STFW&RTFM

#2 Septiembre 10, 2019, 05:52:07 AM Ultima modificación: Septiembre 10, 2019, 06:05:49 AM por kostra
no me he enterado ni explicándomelo tú con detalle, me voy a enterar con el manual xDD tas to loco xd


EDITO: RESUELTO... Mi problema (DESPUÉS DE LEER EL MANUAL) era que confundí esto: con esto:

entonces trataba de poner "nick" donde había que poner "default"


Muchas gracias! xd
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]