:github_url: hide .. Generated automatically by doc/tools/make_rst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the JSON.xml source instead. .. The source is found in doc/classes or modules//doc_classes. .. _class_JSON: JSON ==== **Inherits:** :ref:`Object` Helper class for parsing JSON data. Description ----------- Helper class for parsing JSON data. For usage example and other important hints, see :ref:`JSONParseResult`. Methods ------- +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`JSONParseResult` | :ref:`parse` **(** :ref:`String` json **)** | +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`print` **(** :ref:`Variant` value, :ref:`String` indent="", :ref:`bool` sort_keys=false **)** | +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Method Descriptions ------------------- .. _class_JSON_method_parse: - :ref:`JSONParseResult` **parse** **(** :ref:`String` json **)** Parses a JSON-encoded string and returns a :ref:`JSONParseResult` containing the result. ---- .. _class_JSON_method_print: - :ref:`String` **print** **(** :ref:`Variant` value, :ref:`String` indent="", :ref:`bool` sort_keys=false **)** Converts a :ref:`Variant` var to JSON text and returns the result. Useful for serializing data to store or send over the network. **Note:** The JSON specification does not define integer or float types, but only a *number* type. Therefore, converting a Variant to JSON text will convert all numerical values to :ref:`float` types. The ``indent`` parameter controls if and how something is indented, the string used for this parameter will be used where there should be an indent in the output, even spaces like ``" "`` will work. ``\t`` and ``\n`` can also be used for a tab indent, or to make a newline for each indent respectively. **Example output:** :: ## JSON.print(my_dictionary) {"name":"my_dictionary","version":"1.0.0","entities":[{"name":"entity_0","value":"value_0"},{"name":"entity_1","value":"value_1"}]} ## JSON.print(my_dictionary, "\t") { "name": "my_dictionary", "version": "1.0.0", "entities": [ { "name": "entity_0", "value": "value_0" }, { "name": "entity_1", "value": "value_1" } ] } ## JSON.print(my_dictionary, "...") { ..."name": "my_dictionary", ..."version": "1.0.0", ..."entities": [ ......{ ........."name": "entity_0", ........."value": "value_0" ......}, ......{ ........."name": "entity_1", ........."value": "value_1" ......} ...] } .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`