json_decode
仕様
json_decodeの戻り値は必ずMapである (取り出すときは、"default"で取り出す) 値 => map[? "default"]
array => list = map[? "default"]
objectはそのまま
内部のlistはちゃんとlistになっている
参考
ds_map_find_first(map)
などを使って確認すると多少便利
オブジェクトの例
code:__
var str = "{\"size\":9}"
var map = json_decode(str)
配列の例
code:__
var map_list = json_decode(str)
show_message(list1) // 22
show_message( ds_map_find_first(list) // default :†1
show_message( ds_list_size(map_list) ) // :†2
参考
†1: 取得したlist(のid)はなぜかmapとしても認識されている。やっぱり同じlist(自分自身)を返す
†2: 単純なarrayだと実はlistとして認識されているようだが、できるだけmap[? "default"]で取得した方がよいだろう
複雑な例
code:__
var def_map = json_decode(str)
var map = list1
show_message( ds_list_size( size ) ) //3
show_message( size1 ) // 333