pandemonium_engine_minimal/doc/classes/JSON.xml
2023-12-14 23:24:47 +01:00

71 lines
2.5 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<class name="JSON" inherits="Object" version="4.2">
<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="&quot;&quot;" />
<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>