Garry's Mod Wiki

Revision Difference

util.TableToJSON#528096

<function name="TableToJSON" parent="util" type="libraryfunc"> <description> Converts a table to a JSON string. <warning>All integers will be converted to decimals (5 -&gt; 5.0).</warning> <warning>All integers will be converted to decimals (5 -> 5.0).</warning> <warning>All keys are strings in the JSON format, so all keys will be converted to strings!</warning> <bug issue="3561">This will produce invalid JSON if the provided table contains nan or inf values.</bug> <bug>Too large integers (for example, 64 bit SteamIDs) will be converted into something along the lines of '7.6561198043355e+16'. Don't use JSON text files to store player data.</bug>⤶ </description> <realm>Shared and Menu</realm> <args> <arg name="table" type="table">Table to convert.</arg> <arg name="prettyPrint" type="boolean" default="false">Format and indent the JSON.</arg> </args> <rets> <ret name="" type="string">A JSON formatted string containing the serialized data</ret> </rets> </function> <example> <description>Writes the positions and angles of every player to a JSON file called playerstuff.json.</description> <code> local Players = {} for k, v in ipairs(player.GetAll()) do Players[k] = { pos = v:GetPos(), ang = v:GetAngles() } end local tab = util.TableToJSON( Players ) -- Convert the player table to JSON file.CreateDir( "jsontest" ) -- Create the directory file.Write( "jsontest/playerstuff.json", tab) -- Write to .json </code> </example>