Godot4のGDScriptでJSONを使うためにGodot3のto_json
とparse_json
を使いたい!
概要
今回の記事では、Godot4のGDScriptでJSONを使うためにGodot3のto_json
とparse_json
の代替になる手順を掲載する。
仕様書
環境
- Gogot 4.0
手順書
下記はJSONを書き込む例。
var hp = 100
var mp = 50
var data = {
"player_hp": hp,
"player_mp": mp
}
# Godot3
var file = File.new()
file.open("data.json", File.WRITE)
file.store_line(to_json(data))
file.close()
# Godot4
var file = FileAccess.open("data.json", FileAccess.WRITE)
var json = JSON.new()
var json_string = json.stringify(data)
file.store_line(json_string)
下記はJSONを読み込む例。
var hp = 100
var mp = 50
var data = {
"player_hp": hp,
"player_mp": mp
}
# Godot3
var file = File.new()
file.open("data.json", File.READ)
var data = parse_json(file.get_line())
if data != null:
hp = data["player_hp"]
mp = data["player_mp"]
file.close()
# Godot4
if FileAccess.file_exists(SCORE_FILE_PATH):
var file = FileAccess.open("data.json", FileAccess.READ)
var json = JSON.new()
var json_string = json.parse(file.get_line())
var data = json.data
if data != null:
hp = data["player_hp"]
mp = data["player_mp"]
Godot3とGodot4でJSON関連も変わってますが、ファイル関連の処理の関数(メゾット)も変わってるのに注意。
File
-> FileAccess
FileAccess
になってからclose
しなくてよくなったらしい。
まとめ(感想文)
関数(メゾット)の名前が変わるだけでもめちゃくちゃ大変だ。