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]"
Según EL MANUAL (http://docs.yoyogames.com/source/dadiospice/002_reference/file%20handling/json_decode.html), 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.
(https://www.comunidadgm.org/preguntas-y-respuestas/como-se-pasa-de-json_decode-a-tener-2-arrays/?action=dlattach;attach=18560;image)
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í:
(https://www.comunidadgm.org/preguntas-y-respuestas/como-se-pasa-de-json_decode-a-tener-2-arrays/?action=dlattach;attach=18562;image)
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 (http://docs.yoyogames.com/source/dadiospice/002_reference/file%20handling/json_decode.html), como te dije en Discord.
PD: Debes colocar en el post el ícono de la versión de GM que estás usando.
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: (https://i.gyazo.com/64360f9b0999b52731a44359c3c58ee0.png) con esto: (https://i.gyazo.com/24bd4cb61be4a48d6644f6362bbed3fd.png)
entonces trataba de poner "nick" donde había que poner "default"
Muchas gracias! xd