FromJSON: Difference between revisions

From Wiki G1R-MP G1 Remake Multiplayer
Jump to navigation Jump to search
Document Lua APIs available or improved from G1R:MP 0.1.2
Document expanded scripting capacities and complete audited limits for 0.1.3 BUILD81
 
Line 16: Line 16:
! Name !! Type !! Required !! Description
! Name !! Type !! Required !! Description
|-
|-
| <code>json</code> || <code>string</code> || yes || A UTF-8 JSON document up to 32 KiB.
| <code>json</code> || <code>string</code> || yes || A UTF-8 JSON document up to 1 MiB.
|}
|}


Line 35: Line 35:
== Notes ==
== Notes ==
* Available in both server-side and client-side resource scripts.
* Available in both server-side and client-side resource scripts.
* JSON is limited to 32 KiB, 16 nested levels, and 2048 entries.
* JSON is limited to 1 MiB, 64 nested levels, and 65536 cumulative entries.
* Expanded limits apply from update 0.1.3 BUILD81. See [[Scripting limits]]; earlier 0.1.3 binaries retain their old limits.


[[Category:Lua Functions]]
[[Category:Lua Functions]]
[[Category:Shared Functions]]
[[Category:Shared Functions]]
[[Category:Utility Functions]]
[[Category:Utility Functions]]

Latest revision as of 11:51, 12 September 2026

fromJSON

IMPROVED FROM UPDATE 0.1.2
This function is available in earlier releases and has corrected or expanded behavior in G1R:MP 0.1.2 and later. The contract below describes the updated behavior.

Parses bounded JSON into Lua values.

Syntax

mixed|false value, string|nil error = fromJSON(string json)

Parameters

Name Type Required Description
json string yes A UTF-8 JSON document up to 1 MiB.

Returns

Returns the decoded value and nil on success. On failure it returns false and an error string.

Examples

Decode a JSON payload safely:

local value, errorMessage = fromJSON(payload)
if value == false then
    outputDebugString(errorMessage)
else
    outputDebugString(tostring(value.ready))
end

Notes

  • Available in both server-side and client-side resource scripts.
  • JSON is limited to 1 MiB, 64 nested levels, and 65536 cumulative entries.
  • Expanded limits apply from update 0.1.3 BUILD81. See Scripting limits; earlier 0.1.3 binaries retain their old limits.