2025-09-07 13:18:29 +08:00
|
|
|
class_name JsonTool
|
|
|
|
|
|
2026-05-09 21:25:27 +08:00
|
|
|
static func parseFromFile(filePath: String):
|
2025-09-07 13:18:29 +08:00
|
|
|
var file = FileAccess.open(filePath, FileAccess.READ)
|
2026-05-09 21:25:27 +08:00
|
|
|
if file is FileAccess:
|
|
|
|
|
var json = file.get_as_text()
|
|
|
|
|
file.close()
|
|
|
|
|
return parseFromText(json)
|
|
|
|
|
static func parseFromText(text: String):
|
2025-09-07 13:18:29 +08:00
|
|
|
var jsonObj = JSON.new()
|
2026-05-09 21:25:27 +08:00
|
|
|
jsonObj.parse(text)
|
2025-09-07 13:18:29 +08:00
|
|
|
return jsonObj.data
|
2026-05-09 21:25:27 +08:00
|
|
|
static func stringify(data: Variant):
|
|
|
|
|
return JSON.stringify(data, " ")
|
2026-05-10 06:43:08 +08:00
|
|
|
static func restoreEnumKey(origin: Dictionary, classpath: String):
|
|
|
|
|
ArrayTool.setNested(origin, classpath, ArrayTool.mapEntries(ArrayTool.getNested(origin, classpath), func(key, value): return [int(key), value]))
|