<?xml version="1.0" encoding="UTF-8" ?> <class name="JSON" inherits="Object" version="3.8"> <brief_description> Helper class for parsing JSON data. </brief_description> <description> Helper class for parsing JSON data. For usage example and other important hints, see [JSONParseResult]. </description> <tutorials> </tutorials> <methods> <method name="parse"> <return type="JSONParseResult" /> <argument index="0" name="json" type="String" /> <description> Parses a JSON-encoded string and returns a [JSONParseResult] containing the result. </description> </method> <method name="print"> <return type="String" /> <argument index="0" name="value" type="Variant" /> <argument index="1" name="indent" type="String" default="""" /> <argument index="2" name="sort_keys" type="bool" default="false" /> <description> Converts a [Variant] var to JSON text and returns the result. Useful for serializing data to store or send over the network. [b]Note:[/b] The JSON specification does not define integer or float types, but only a [i]number[/i] type. Therefore, converting a Variant to JSON text will convert all numerical values to [float] types. The [code]indent[/code] 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 [code]" "[/code] will work. [code]\t[/code] and [code]\n[/code] can also be used for a tab indent, or to make a newline for each indent respectively. [b]Example output:[/b] [codeblock] ## 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" ......} ...] } [/codeblock] </description> </method> </methods> <constants> </constants> </class>