JSONParseResult
Data class wrapper for decoded JSON.
Description
Returned by JSON.parse, JSONParseResult
contains the decoded JSON or error information if the JSON source wasn’t successfully parsed. You can check if the JSON source was successfully parsed with if json_result.error == OK
.
Properties
Error | error | |
int | error_line | -1 |
String | error_string | “” |
Variant | result |
Property Descriptions
- Error error
Setter | set_error(value) |
Getter | get_error() |
The error type if the JSON source was not successfully parsed. See the Error constants.
- int error_line
Default | -1 |
Setter | set_error_line(value) |
Getter | get_error_line() |
The line number where the error occurred if the JSON source was not successfully parsed.
- String error_string
Default | “” |
Setter | set_error_string(value) |
Getter | get_error_string() |
The error message if the JSON source was not successfully parsed. See the Error constants.
- Variant result
Setter | set_result(value) |
Getter | get_result() |
A Variant containing the parsed JSON. Use @GDScript.typeof or the is
keyword to check if it is what you expect. For example, if the JSON source starts with curly braces ({}
), a Dictionary will be returned. If the JSON source starts with brackets ([]
), an Array will be returned.
Note: The JSON specification does not define integer or float types, but only a number type. Therefore, parsing a JSON text will convert all numerical values to float types.
Note: JSON objects do not preserve key order like Godot dictionaries, thus, you should not rely on keys being in a certain order if a dictionary is constructed from JSON. In contrast, JSON arrays retain the order of their elements:
var p = JSON.parse('["hello", "world", "!"]')
if typeof(p.result) == TYPE_ARRAY:
print(p.result[0]) # Prints "hello"
else:
push_error("Unexpected results.")