[DOCS] parse_json: Objects do not keep key order
Document JSON not guaranteeing key order.
(cherry picked from commit 82b8f1729d
)
This commit is contained in:
parent
1a9a40fe31
commit
2515d42a14
|
@ -608,6 +608,7 @@
|
||||||
<description>
|
<description>
|
||||||
Parse JSON text to a Variant (use [method typeof] to check if it is what you expect).
|
Parse JSON text to a Variant (use [method typeof] to check if it is what you expect).
|
||||||
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.
|
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:
|
||||||
[codeblock]
|
[codeblock]
|
||||||
p = parse_json('["a", "b", "c"]')
|
p = parse_json('["a", "b", "c"]')
|
||||||
if typeof(p) == TYPE_ARRAY:
|
if typeof(p) == TYPE_ARRAY:
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
Helper class for parsing JSON data.
|
Helper class for parsing JSON data.
|
||||||
</brief_description>
|
</brief_description>
|
||||||
<description>
|
<description>
|
||||||
Helper class for parsing JSON data. For usage example, see [JSONParseResult].
|
Helper class for parsing JSON data. For usage example and other important hints, see [JSONParseResult].
|
||||||
</description>
|
</description>
|
||||||
<tutorials>
|
<tutorials>
|
||||||
</tutorials>
|
</tutorials>
|
||||||
|
|
|
@ -24,7 +24,8 @@
|
||||||
</member>
|
</member>
|
||||||
<member name="result" type="Variant" setter="set_result" getter="get_result">
|
<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.
|
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.[/i]
|
[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]
|
[codeblock]
|
||||||
p = JSON.parse('["hello", "world", "!"]')
|
p = JSON.parse('["hello", "world", "!"]')
|
||||||
if typeof(p) == TYPE_ARRAY:
|
if typeof(p) == TYPE_ARRAY:
|
||||||
|
|
Loading…
Reference in New Issue