json_decode()


Game Maker Language リファレンス > 組み込み関数 用途別 > ファイル操作・レジストリ・シェル機能・コマンドライン関連 > json_decode

json_decode

JSON形式の文字列をds_mapデータに変換します

構文

json_decode(string)
string
JSON形式の文字列

戻り値

ds_map
ds_map。変換に失敗した場合「-1」

説明

JSON (JavaScript Object Notation)はデータ交換に適した軽量なデータ形式で、可読性があり処理負荷も低いものとなります。JSONは2つの基本的なデータ構造からなっています。

  • 1つはname/valueのペアからなるマップ(GameMaker:Studioでのds_map相当)
  • もう1つはリスト(GameMaker:Studioにおけるds_list)

この関数によりds_mapの階層構造をJSON文字列をデコードすることができます。ただしGameMaker:Studioでは次のルールで作成する必要があります

  • JSONは、単一の値である - 単一のエントリ、 "デフォルト"とds_mapを返す値である
  • JSONはオブジェクトまたは値の配列です - 単一のエントリ、 "デフォルト"とds_mapを返すオブジェクトまたは値のds_listつまり
  • JSONはオブジェクトです - それのオブジェクトのエントリがありds_mapを返す

通常は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変数の配列に格納します

Wiki内検索

#search(): You already view a search box

MENU

ドキュメント

GMLリファレンス

2ch

その他



最新の30件

2024-03-07 2023-08-09 2023-05-21 2023-05-20 2023-05-04 2022-10-13 2022-07-21 2022-07-02 2022-04-06 2021-11-30 2021-11-26 2021-10-03 2021-09-23 2021-08-15 2021-06-02 2021-01-23 2021-01-21 2021-01-19 2021-01-18 2021-01-16 2021-01-15

人気の10件

今日の10件



これまでの訪問者: 2172
今日の訪問者: 1
昨日の訪問者: 1
閲覧者: 9