virtualx-engine/doc/classes/JSONParseResult.xml
Rémi Verschelde d0a3bd82c1
Merge pull request #16401 from YeldhamDev/json_example_fix
Fixed wrong example in JSONParseResult
2018-02-13 12:00:09 +01:00

40 lines
2.2 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<class name="JSONParseResult" inherits="Reference" category="Core" version="3.0-stable">
<brief_description>
Data class wrapper for decoded JSON.
</brief_description>
<description>
Returned by [method JSON.parse], [code]JSONParseResult[/code] contains decoded JSON or error information if JSON source not successfully parsed. You can check if JSON source was successfully parsed with [code]if json_result.error == OK[/code].
</description>
<tutorials>
</tutorials>
<demos>
</demos>
<methods>
</methods>
<members>
<member name="error" type="int" setter="set_error" getter="get_error" enum="Error">
The error type if JSON source was not successfully parsed. See [@GlobalScope] ERR_* constants.
</member>
<member name="error_line" type="int" setter="set_error_line" getter="get_error_line">
The line number where the error occurred if JSON source was not successfully parsed.
</member>
<member name="error_string" type="String" setter="set_error_string" getter="get_error_string">
The error message if JSON source was not successfully parsed. See [@GlobalScope] ERR_* constants.
</member>
<member name="result" type="Variant" setter="set_result" getter="get_result">
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 ([code]{}[/code]) a [Dictionary] will be returned, if JSON source starts with braces ([code][][/code]) an [Array] will be returned.
[i]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:[/i]
[codeblock]
var p = JSON.parse('["hello", "world", "!"]')
if typeof(p.result) == TYPE_ARRAY:
print(p.result[0]) # prints 'hello'
else:
print("unexpected results")
[/codeblock]
</member>
</members>
<constants>
</constants>
</class>