:github_url: hide .. Generated automatically by doc/tools/makerst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the JSONParseResult.xml source instead. .. The source is found in doc/classes or modules//doc_classes. .. _class_JSONParseResult: JSONParseResult =============== **Inherits:** :ref:`Reference` **<** :ref:`Object` **Category:** Core Brief Description ----------------- Data class wrapper for decoded JSON. Properties ---------- +---------------------------------------+------------------------------------------------------------------+ | :ref:`Error` | :ref:`error` | +---------------------------------------+------------------------------------------------------------------+ | :ref:`int` | :ref:`error_line` | +---------------------------------------+------------------------------------------------------------------+ | :ref:`String` | :ref:`error_string` | +---------------------------------------+------------------------------------------------------------------+ | :ref:`Variant` | :ref:`result` | +---------------------------------------+------------------------------------------------------------------+ Description ----------- Returned by :ref:`JSON.parse`, ``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``. Property Descriptions --------------------- .. _class_JSONParseResult_property_error: - :ref:`Error` **error** +----------+------------------+ | *Setter* | set_error(value) | +----------+------------------+ | *Getter* | get_error() | +----------+------------------+ The error type if JSON source was not successfully parsed. See :ref:`@GlobalScope` ERR\_\* constants. ---- .. _class_JSONParseResult_property_error_line: - :ref:`int` **error_line** +----------+-----------------------+ | *Setter* | set_error_line(value) | +----------+-----------------------+ | *Getter* | get_error_line() | +----------+-----------------------+ The line number where the error occurred if JSON source was not successfully parsed. ---- .. _class_JSONParseResult_property_error_string: - :ref:`String` **error_string** +----------+-------------------------+ | *Setter* | set_error_string(value) | +----------+-------------------------+ | *Getter* | get_error_string() | +----------+-------------------------+ The error message if JSON source was not successfully parsed. See :ref:`@GlobalScope` ERR\_\* constants. ---- .. _class_JSONParseResult_property_result: - :ref:`Variant` **result** +----------+-------------------+ | *Setter* | set_result(value) | +----------+-------------------+ | *Getter* | get_result() | +----------+-------------------+ A :ref:`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 :ref:`Dictionary` will be returned, if JSON source starts with braces (``[]``) an :ref:`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:* :: var p = JSON.parse('["hello", "world", "!"]') if typeof(p.result) == TYPE_ARRAY: print(p.result[0]) # prints 'hello' else: print("unexpected results")