Nombre del creador: Kostrón Sobakón
Breve descripción de su función: Nunca te ha pasado que quieres transformar en string una ds_list, pero el json solo sirve para ds_maps?, te da pereza tener que ingeniartelas cómo hacerlo? para qué, si ya lo hice yo por ti!! c:
Versión GM utilizada: GMS2.. pero meh, seguro sirve para todos o casi todos los GM
Modo de uso:
En el encoder, como argumento hay que poner una ds_list y devuelve un json (un ds_map transformado en string)
En el decoder, como argumento hay que poner un json (string que representa un ds_map... obviamente un json sacado de un jsln_encoder, si no no sirve!!!)
CódigoS (son 2, el encoder y el decoder):
[gml]
#region jsln encode
function jsln_encode(_ds_list) {
var _list = ds_list_create();
ds_list_copy(_list,_ds_list);
var _map = ds_map_create();
ds_map_add_list(_map,"list",_list );
var _json = json_encode(_map);
ds_map_destroy(_map);
return _json;
}
#endregion
#region jsln decode
function jsln_decode(_json) {
var _map = json_decode(_json);
var _ds_list = ds_list_create();
ds_list_copy(_ds_list,_map[? "list"]);
ds_map_destroy(_map);
return _ds_list;
}
#endregion
[/gml]
Adaptaciones a los antiguos scripts...
[gml]
///jsln_encode(ds_list)
var _list = ds_list_create();
ds_list_copy(_list,argument[0]);
var _map = ds_map_create();
ds_map_add_list(_map,"list",_list );
var _json = json_encode(_map);
ds_map_destroy(_map);
return _json;
[/gml]
[gml]
///jsln_decode(json)
var _json = argument[0];
var _map = json_decode(_json);
var _ds_list = ds_list_create();
ds_list_copy(_ds_list,_map[? "list"]);
ds_map_destroy(_map);
return _ds_list;
[/gml]
Cualquier duda, pss pregunten
Breve descripción de su función: Nunca te ha pasado que quieres transformar en string una ds_list, pero el json solo sirve para ds_maps?, te da pereza tener que ingeniartelas cómo hacerlo? para qué, si ya lo hice yo por ti!! c:
Versión GM utilizada: GMS2.. pero meh, seguro sirve para todos o casi todos los GM
Modo de uso:
En el encoder, como argumento hay que poner una ds_list y devuelve un json (un ds_map transformado en string)
En el decoder, como argumento hay que poner un json (string que representa un ds_map... obviamente un json sacado de un jsln_encoder, si no no sirve!!!)
CódigoS (son 2, el encoder y el decoder):
[gml]
#region jsln encode
function jsln_encode(_ds_list) {
var _list = ds_list_create();
ds_list_copy(_list,_ds_list);
var _map = ds_map_create();
ds_map_add_list(_map,"list",_list );
var _json = json_encode(_map);
ds_map_destroy(_map);
return _json;
}
#endregion
#region jsln decode
function jsln_decode(_json) {
var _map = json_decode(_json);
var _ds_list = ds_list_create();
ds_list_copy(_ds_list,_map[? "list"]);
ds_map_destroy(_map);
return _ds_list;
}
#endregion
[/gml]
Adaptaciones a los antiguos scripts...
[gml]
///jsln_encode(ds_list)
var _list = ds_list_create();
ds_list_copy(_list,argument[0]);
var _map = ds_map_create();
ds_map_add_list(_map,"list",_list );
var _json = json_encode(_map);
ds_map_destroy(_map);
return _json;
[/gml]
[gml]
///jsln_decode(json)
var _json = argument[0];
var _map = json_decode(_json);
var _ds_list = ds_list_create();
ds_list_copy(_ds_list,_map[? "list"]);
ds_map_destroy(_map);
return _ds_list;
[/gml]
Cualquier duda, pss pregunten