Data class wrapper for decoded JSON.
    public class JSONParseResult : Reference

Returned by JSON.Parse(string), JSONParseResult contains decoded JSON or error information if JSON source not successfully parsed. You can check if JSON source was successfully parsed with if json_result.error == OK.

Inheritance Chain

Constructors

    public JSONParseResult()

Properties

    public Error Error { get; set; }

The error type if JSON source was not successfully parsed. See [@GlobalScope] ERR_* constants.

    public int ErrorLine { get; set; }

The line number where the error occurred if JSON source was not successfully parsed.

    public string ErrorString { get; set; }

The error message if JSON source was not successfully parsed. See [@GlobalScope] ERR_* constants.

    public object Result { get; set; }

A Variant containing the parsed JSON. Use typeof() to check if it is what you expect. For example, if JSON source starts with curly braces ({}) a Dictionary will be returned, if JSON source starts with braces ([]) an Array will be returned.

Be aware that 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 that 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:*

[codeblock]

var p = JSON.parse(‘[“hello”, “world”, “!”]’)

if typeof(p.result) == TYPE_ARRAY:

print(p.result[0]) # prints ‘hello’

else:

print(“unexpected results”)

[/codeblock]

Methods

    public Error GetError()

Getter for Error

    public int GetErrorLine()

Getter for ErrorLine

    public string GetErrorString()

Getter for ErrorString

    public object GetResult()

Getter for Result

    public void SetError(Error error)

Setter for Error

    public void SetErrorLine(int errorLine)

Setter for ErrorLine

    public void SetErrorString(string errorString)

Setter for ErrorString

    public void SetResult(object result)

Setter for Result

Tags: