JSONParseResult

Inherits: Reference < Object

解码 JSON 的数据类包装器。

描述

JSON.parse返回,JSONParseResult包含解码的JSON或错误信息(如果JSON源没有被成功解析)。你可以用if json_result.error == OK检查JSON源是否被成功解析。

属性说明

Setter

set_error(value)

Getter

get_error()

未成功解析 JSON 源时的错误类型。请参阅 Error 常量。


  • int error_line

Default

-1

Setter

set_error_line(value)

Getter

get_error_line()

如果JSON源没有被成功解析,返回发生错误的行号。


Default

""

Setter

set_error_string(value)

Getter

get_error_string()

未成功解析 JSON 源时的错误消息。请参阅 Error 常量。


Setter

set_result(value)

Getter

get_result()

包含解析过JSON的变量Variant。使用@GDScript.typeofis关键字来检查它是否是你期望的。例如,如果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.")#意外的结果。