0%

Godot4 JSON的使用

Godot 4.3

注意

不完全符合 JSON 规范:

  • 数组或对象中的尾随逗号将被忽略,而不是引起解析器错误。
  • 换行符和制表符在字符串文字中被接受,并被视为它们相应的转义序列 \n 和 \t。
  • 使用 String.to_float 解析数字,这通常比 JSON 规范更宽松。
  • 某些错误,例如无效的 Unicode 序列,不会导致解析器错误。相反,该字符串会被清理并将错误记录到控制台。

创建JSON实例

GDScript
1
var json = JSON.new()

从字符串解析

GDScript
1
2
3
4
json.parse(JSON字符串)

# 示例
json.parse('{"a":"hello hexo","b":"TheChuan1503"}')

读取JSON内容

GDScript
1
2
3
4
5
6
var dic = json.data
# 如果json是键值对则dic类型为Dictionary,数组则返回Array,其余同理

# 读取Dictionary示例
dic['a'] # 返回hello hexo
dic['b'] # 返回TheChuan1503

Dictionary判断是否存在某个键

GDScript
1
2
3
4
5
dic.has(键名)

# 示例
dic.has('a') # 返回true
dic.has('c') # 返回false

JSON序列化为字符串

GDScript
1
2
3
4
JSON.stringify(Variant)

# 示例
JSON.stringify(json.data) # 返回序列化后的字符串

注意:

JSON 规范没有定义整数和浮点数类型,只有一个数字类型。
因此,将 Variant 转换为 JSON 文本会将所有数字值转换为 float 类型。

参考