JSONParseResult
解码 JSON 的数据类包装器。
描述
由JSON.parse返回,JSONParseResult
包含解码的JSON或错误信息(如果JSON源没有被成功解析)。你可以用if json_result.error == OK
检查JSON源是否被成功解析。
属性
| ||
| ||
属性说明
- Error error
Setter | set_error(value) |
Getter | get_error() |
未成功解析 JSON 源时的错误类型。请参阅 Error 常量。
- int error_line
Default |
|
Setter | set_error_line(value) |
Getter | get_error_line() |
如果JSON源没有被成功解析,返回发生错误的行号。
- String error_string
Default |
|
Setter | set_error_string(value) |
Getter | get_error_string() |
未成功解析 JSON 源时的错误消息。请参阅 Error 常量。
- Variant result
Setter | set_result(value) |
Getter | get_result() |
包含解析过JSON的变量Variant。使用@GDScript.typeof或is
关键字来检查它是否是你期望的。例如,如果JSON源以花括号开始({}
),将返回一个字典Dictionary。如果JSON源以方括号开始([]
),将返回一个数组Array。
注意: JSON规范没有定义整数或浮点数类型,而只有一个数字number类型。因此,解析JSON文本将把所有的数字值转换为浮点float类型。
注意:JSON对象不像Godot字典那样保留键的顺序,因此,如果一个字典是由JSON构建的,你不应该依赖键是按一定顺序的。与此相反,JSON数组保留其元素的顺序。
var p = JSON.parse('["hello", "world", "!"]' )
if typeof(p.result) == TYPE_ARRAY:
print(p.result[0]) # 打印 "hello"
else:
push_error("Unexpected results.")#意外的结果。