Game Maker Language リファレンス > 組み込み関数 用途別 > ファイル操作・レジストリ・シェル機能・コマンドライン関連 > json_decode
JSON形式の文字列をds_mapデータに変換します
json_decode(string)
JSON (JavaScript Object Notation)はデータ交換に適した軽量なデータ形式で、可読性があり処理負荷も低いものとなります。JSONは2つの基本的なデータ構造からなっています。
この関数によりds_mapの階層構造をJSON文字列をデコードすることができます。ただしGameMaker:Studioでは次のルールで作成する必要があります
通常はJSONデコードのためにあらかじめ必要なキーを知っておく必要がありますが、ds_map_find_first() / ds_map_find_next() / ds_map_size() を使ってds_mapを解析することも可能です。
メモリリークを防ぐために不要になった ds_map / ds_list は破棄する必要があります
var resultMap = json_decode(requestResult); var list = ds_map_find_value(resultMap, "default"); var size = ds_list_size(list); for (var n = 0; n < ds_list_size(list); ++n;) { var map = ds_list_find_value(list, n); var curr = ds_map_find_first(map); while (is_string(curr)) { global.Name[n] = ds_map_find_value(map, "name"); curr = ds_map_find_next(map, curr); } ds_map_destroy(map); } ds_list_destroy(list); ds_map_destroy(resultMap);
上記コードはJSON文字列を解析してglobal変数の配列に格納します