Treat JSON as resource files.
This makes the files ended in ".json" be treated as Godot resources. This solves two problems: * Avoid extensions to implement their own handling, which results in conflicts (all must use this one). * Allow code to still work opening it as a file (since it will not be imported).
This commit is contained in:
@ -6,7 +6,7 @@
|
||||
<description>
|
||||
The [JSON] enables all data types to be converted to and from a JSON string. This useful for serializing data to save to a file or send over the network.
|
||||
[method stringify] is used to convert any data type into a JSON string.
|
||||
[method parse] is used to convert any existing JSON data into a [Variant] that can be used within Godot. If successfully parsed, use [method get_data] to retrieve the [Variant], and use [code]typeof[/code] to check if the Variant's type is what you expect. JSON Objects are converted into a [Dictionary], but JSON data can be used to store [Array]s, numbers, [String]s and even just a boolean.
|
||||
[method parse] is used to convert any existing JSON data into a [Variant] that can be used within Godot. If successfully parsed, use [member data] to retrieve the [Variant], and use [code]typeof[/code] to check if the Variant's type is what you expect. JSON Objects are converted into a [Dictionary], but JSON data can be used to store [Array]s, numbers, [String]s and even just a boolean.
|
||||
[b]Example[/b]
|
||||
[codeblock]
|
||||
var data_to_send = ["a", "b", "c"]
|
||||
@ -16,7 +16,7 @@
|
||||
# Retrieve data
|
||||
var error = json.parse(json_string)
|
||||
if error == OK:
|
||||
var data_received = json.get_data()
|
||||
var data_received = json.data
|
||||
if typeof(data_received) == TYPE_ARRAY:
|
||||
print(data_received) # Prints array
|
||||
else:
|
||||
@ -32,13 +32,6 @@
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="get_data" qualifiers="const">
|
||||
<return type="Variant" />
|
||||
<description>
|
||||
Returns the [Variant] containing the data of a successful [method parse].
|
||||
[b]Note:[/b] It will return [code]Null[/code] if the last call to parse was unsuccessful or [method parse] has not yet been called.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_error_line" qualifiers="const">
|
||||
<return type="int" />
|
||||
<description>
|
||||
@ -56,7 +49,7 @@
|
||||
<param index="0" name="json_string" type="String" />
|
||||
<description>
|
||||
Attempts to parse the [param json_string] provided.
|
||||
Returns an [enum Error]. If the parse was successful, it returns [code]OK[/code] and the result can be retrieved using [method get_data]. If unsuccessful, use [method get_error_line] and [method get_error_message] for identifying the source of the failure.
|
||||
Returns an [enum Error]. If the parse was successful, it returns [code]OK[/code] and the result can be retrieved using [member data]. If unsuccessful, use [method get_error_line] and [method get_error_message] for identifying the source of the failure.
|
||||
Non-static variant of [method parse_string], if you want custom error handling.
|
||||
</description>
|
||||
</method>
|
||||
@ -118,4 +111,9 @@
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="data" type="Variant" setter="set_data" getter="get_data" default="null">
|
||||
Contains the parsed JSON data in [Variant] form.
|
||||
</member>
|
||||
</members>
|
||||
</class>
|
||||
|
||||
Reference in New Issue
Block a user