2024.08.28
#Godot Engine
#Snippets
Godot Engine でJSONファイルを読み書きするときに便利なスクリプト
JSONファイルの読み書きに使う関数群。設定ファイルを実装するときに便利。
extends Node
func readlines(path: String) -> String:
var f = FileAccess.open(path, FileAccess.READ)
var txt = PackedStringArray()
while f.get_position() < f.get_length():
txt.append(f.get_line())
f.close()
return '\n'.join(txt)
func load_json(path: String) -> Dictionary:
var text = readlines(path)
var json = JSON.new()
var parse_result = json.parse(text)
if not parse_result == OK:
print_debug(
'JSON Parse Error: ', json.get_error_message(),
' in ', text,
' at line ', json.get_error_line()
)
return {}
var data: Dictionary = json.get_data()
return data
func save_json(data: Dictionary, path: String):
var f = FileAccess.open(path, FileAccess.WRITE)
var json_string = JSON.stringify(data)
f.store_line(json_string)
f.close()
上記の関数をプロジェクトのどこからでも呼べるように、
[プロジェクト設定] > [自動読み込み]
に登録する。この登録はGDScript .gd
単位でもシーン .tscn
単位でも可能。