Godot读取json配置文件

概述

在Godot 4.3中读取JSON配置文件,可以通过以下步骤实现:

步骤说明

  1. 读取文件内容 :使用FileAccess类打开并读取JSON文件。

  2. 解析JSON数据 :使用JSON类解析读取到的文本内容。

  3. 错误处理:处理文件不存在或JSON格式错误的情况。

编码

python 复制代码
extends Node

func _ready():
    var config_data = load_config()
    if config_data:
        print("配置加载成功:", config_data)
    else:
        print("配置加载失败")

func load_config():
    # 打开文件
    var file = FileAccess.open("res://config.json", FileAccess.READ)
    if not file:
        push_error("无法打开配置文件!")
        return null

    # 读取文本内容
    var content = file.get_as_text()
    file.close()  # 显式关闭文件

    # 解析JSON
    var json = JSON.new()
    var parse_error = json.parse(content)
    if parse_error != OK:
        push_error("JSON解析错误:%s(第%d行)" % [
            json.get_error_message(),
            json.get_error_line()
        ])
        return null

    # 返回解析后的数据(字典或数组)
    return json.data
  1. 文件路径:

    • res://:项目资源目录,适用于只读配置文件。

    • user://:用户数据目录,适用于可写入的配置。

  2. 错误处理:

    • 使用FileAccess.open()时检查返回值,确保文件存在。

    • 解析JSON时检查parse()的返回值,捕获语法错误。

  3. 数据结构:

    • JSON对象会被转换为GDScript的Dictionary。

    • JSON数组会被转换为Array。

相关推荐
魔士于安3 天前
unity 丑陋哥布林 哥布林有humannoid 动画没 带动画
unity·游戏引擎·材质·贴图·模型
淡海水4 天前
13-04-面试-源码级深度追问链
数据结构·unity·面试·c#·游戏引擎·源码·il2cpp
小小数媒成员4 天前
UGUI 性能优化(详细,全,深入)
开发语言·unity·游戏引擎
goujunwe5 天前
GEO 评估方法:如何自测你的内容,会不会被 AI 引用
搜索引擎·网络安全·游戏引擎·全文检索·中文分词
林川~016 天前
Unity 常用 API 与核心类全解:从生命周期到协程,附性能避坑清单(Unity 6 适配)
unity·游戏引擎·常用api
WiChP8 天前
【V0.1B16】从零开始的2D游戏引擎开发之路
开发语言·算法·游戏引擎
狂人开飞机9 天前
23、实战平台跳跃游戏
游戏·游戏引擎·godot
淡海水9 天前
11-02-Unity-Mono-vs-IL2CPP-两种脚本后端的数据结构行为差异
数据结构·unity·游戏引擎·il2cpp·mono
彧azz9 天前
初学Unity:编辑器
笔记·学习·unity·游戏引擎